feat: 添加评论文章链接字段并优化自动迁移脚本
- 在 Comment 表中添加 post_url 字段,用于存储文章完整 URL - 更新前后端 API 以返回 post_url 字段 - 管理后台评论列表显示文章链接(优先显示 post_url) - 移除前端调试日志并优化自动迁移脚本输出信息 - 通过脚本入口文件统一管理迁移任务
This commit is contained in:
@@ -39,17 +39,11 @@ function findDatabaseName() {
|
||||
|
||||
function run() {
|
||||
try {
|
||||
console.log('🔍 [Auto-Migrate] Detecting D1 database...');
|
||||
const dbName = findDatabaseName();
|
||||
if (!dbName) {
|
||||
console.warn('⚠️ [Auto-Migrate] Could not detect database_name from wrangler config. Skipping.');
|
||||
return;
|
||||
}
|
||||
console.log(`✅ [Auto-Migrate] Found database: ${dbName}`);
|
||||
|
||||
console.log('🔍 [Auto-Migrate] Checking schema status...');
|
||||
try {
|
||||
// Check if post_url column exists
|
||||
const checkCmd = `npx wrangler d1 execute ${dbName} --command "SELECT count(*) as count FROM pragma_table_info('Comment') WHERE name='post_url'" --remote --json`;
|
||||
const output = execSync(checkCmd, { encoding: 'utf-8', stdio: ['ignore', 'pipe', 'ignore'] });
|
||||
|
||||
@@ -57,16 +51,12 @@ function run() {
|
||||
const count = result[0]?.results?.[0]?.count;
|
||||
|
||||
if (count > 0) {
|
||||
console.log('✅ [Auto-Migrate] Schema is up to date.');
|
||||
return;
|
||||
}
|
||||
} catch (e) {
|
||||
console.warn('⚠️ [Auto-Migrate] Check failed (Database might be new or network error). Skipping migration to be safe.');
|
||||
console.warn(e.message);
|
||||
return;
|
||||
}
|
||||
|
||||
console.log('🚀 [Auto-Migrate] Applying migration...');
|
||||
const sql = `
|
||||
ALTER TABLE Comment ADD COLUMN post_url TEXT;
|
||||
UPDATE Comment SET post_url = post_slug;
|
||||
@@ -82,10 +72,10 @@ function run() {
|
||||
const migrateCmd = `npx wrangler d1 execute ${dbName} --command "${flatSql}" --remote --yes`;
|
||||
|
||||
execSync(migrateCmd, { stdio: 'inherit' });
|
||||
console.log('✅ [Auto-Migrate] Completed successfully.');
|
||||
console.log('[Auto-Migrate] Migration applied for Comment.post_url.');
|
||||
|
||||
} catch (error) {
|
||||
console.error('❌ [Auto-Migrate] Failed:', error.message);
|
||||
console.error('[Auto-Migrate] Failed:', error.message);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
1
cwd-api/scripts/index.js
Normal file
1
cwd-api/scripts/index.js
Normal file
@@ -0,0 +1 @@
|
||||
require('./auto_migrate');
|
||||
Reference in New Issue
Block a user