1
0
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:
SunWuyuan 2025-05-25 15:35:36 +08:00
parent 05ece2514b
commit 0b4fe90c94
No known key found for this signature in database
GPG Key ID: A6A54CF66F56BB64

View File

@ -13,6 +13,18 @@ const DATABASE_URL =
? "file:/data/db.sqlite"
: 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() {
try {
@ -58,11 +70,8 @@ function setupDatabase() {
}
console.log(`✅ 已复制 ${DATABASE_TYPE} 数据库配置文件和目录`);
// 设置 Prisma 的 DATABASE_URL
process.env.DATABASE_URL = DATABASE_URL;
// 检查数据库表并执行必要的迁移
execSync("npx prisma migrate deploy", { stdio: "inherit" });
// 执行数据库迁移
runDatabaseMigration();
} catch (error) {
console.error("❌ 数据库初始化失败:", error.message);
process.exit(1);
@ -72,6 +81,8 @@ function setupDatabase() {
// 🔨 本地构建函数
function buildLocal() {
try {
// 确保数据库迁移已执行
runDatabaseMigration();
execSync("npm install", { stdio: "inherit" }); // 安装依赖
execSync("npx prisma generate", { stdio: "inherit" }); // 生成 Prisma 客户端
console.log("✅ 构建完成");