mirror of
https://github.com/ZeroCatDev/ClassworksKV.git
synced 2025-07-01 20:09:23 +00:00
Add database migration function to streamline setup and build processes; replace direct migration calls with a reusable function for better code organization and error handling.
This commit is contained in:
parent
05ece2514b
commit
0b4fe90c94
@ -13,6 +13,18 @@ const DATABASE_URL =
|
|||||||
? "file:/data/db.sqlite"
|
? "file:/data/db.sqlite"
|
||||||
: process.env.DATABASE_URL;
|
: process.env.DATABASE_URL;
|
||||||
|
|
||||||
|
// 🔄 执行数据库迁移函数
|
||||||
|
function runDatabaseMigration() {
|
||||||
|
try {
|
||||||
|
console.log("🔄 执行数据库迁移...");
|
||||||
|
execSync("npx prisma migrate deploy", { stdio: "inherit" });
|
||||||
|
console.log("✅ 数据库迁移完成");
|
||||||
|
} catch (error) {
|
||||||
|
console.error("❌ 数据库迁移失败:", error.message);
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 🧱 数据库初始化函数
|
// 🧱 数据库初始化函数
|
||||||
function setupDatabase() {
|
function setupDatabase() {
|
||||||
try {
|
try {
|
||||||
@ -58,11 +70,8 @@ function setupDatabase() {
|
|||||||
}
|
}
|
||||||
console.log(`✅ 已复制 ${DATABASE_TYPE} 数据库配置文件和目录`);
|
console.log(`✅ 已复制 ${DATABASE_TYPE} 数据库配置文件和目录`);
|
||||||
|
|
||||||
// 设置 Prisma 的 DATABASE_URL
|
// 执行数据库迁移
|
||||||
process.env.DATABASE_URL = DATABASE_URL;
|
runDatabaseMigration();
|
||||||
|
|
||||||
// 检查数据库表并执行必要的迁移
|
|
||||||
execSync("npx prisma migrate deploy", { stdio: "inherit" });
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("❌ 数据库初始化失败:", error.message);
|
console.error("❌ 数据库初始化失败:", error.message);
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
@ -72,6 +81,8 @@ function setupDatabase() {
|
|||||||
// 🔨 本地构建函数
|
// 🔨 本地构建函数
|
||||||
function buildLocal() {
|
function buildLocal() {
|
||||||
try {
|
try {
|
||||||
|
// 确保数据库迁移已执行
|
||||||
|
runDatabaseMigration();
|
||||||
execSync("npm install", { stdio: "inherit" }); // 安装依赖
|
execSync("npm install", { stdio: "inherit" }); // 安装依赖
|
||||||
execSync("npx prisma generate", { stdio: "inherit" }); // 生成 Prisma 客户端
|
execSync("npx prisma generate", { stdio: "inherit" }); // 生成 Prisma 客户端
|
||||||
console.log("✅ 构建完成");
|
console.log("✅ 构建完成");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user