1
This commit is contained in:
67
scripts/sync_pla_account_is_enabled.js
Normal file
67
scripts/sync_pla_account_is_enabled.js
Normal file
@@ -0,0 +1,67 @@
|
||||
const Framework = require('../framework/node-core-framework.js');
|
||||
const frameworkConfig = require('../config/framework.config.js');
|
||||
const Sequelize = require('sequelize');
|
||||
|
||||
async function syncPlaAccountIsEnabled() {
|
||||
console.log('🔄 开始同步 pla_account 表 is_enabled 字段...\n');
|
||||
try {
|
||||
const framework = await Framework.init(frameworkConfig);
|
||||
const models = Framework.getModels();
|
||||
|
||||
if (!models) {
|
||||
throw new Error('无法获取模型列表');
|
||||
}
|
||||
|
||||
const pla_account = models.pla_account;
|
||||
if (!pla_account) {
|
||||
throw new Error('无法获取 pla_account 模型');
|
||||
}
|
||||
|
||||
console.log('正在同步表结构(使用 alter: true 模式,保留现有数据)...\n');
|
||||
await pla_account.sync({ alter: true });
|
||||
|
||||
console.log('✅ pla_account 表同步成功!\n');
|
||||
|
||||
// 显示表结构
|
||||
const sequelize = pla_account.sequelize;
|
||||
const tableInfo = await sequelize.query(
|
||||
`DESCRIBE pla_account`,
|
||||
{ type: Sequelize.QueryTypes.SELECT }
|
||||
);
|
||||
|
||||
console.table(tableInfo.map(field => ({
|
||||
字段名: field.Field,
|
||||
类型: field.Type,
|
||||
允许空: field.Null,
|
||||
默认值: field.Default,
|
||||
注释: field.Comment || ''
|
||||
})));
|
||||
|
||||
// 检查 is_enabled 字段是否存在
|
||||
const isEnabledField = tableInfo.find(field => field.Field === 'is_enabled');
|
||||
if (isEnabledField) {
|
||||
console.log('\n✅ is_enabled 字段已存在');
|
||||
console.log(` 类型: ${isEnabledField.Type}`);
|
||||
console.log(` 默认值: ${isEnabledField.Default}`);
|
||||
console.log(` 注释: ${isEnabledField.Comment || '无'}\n`);
|
||||
} else {
|
||||
console.warn('\n⚠️ is_enabled 字段不存在,可能需要手动添加\n');
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
console.error('❌ 同步失败:', error.message);
|
||||
console.error('\n详细错误:', error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
syncPlaAccountIsEnabled()
|
||||
.then(() => {
|
||||
console.log('✅ 同步完成');
|
||||
process.exit(0);
|
||||
})
|
||||
.catch(error => {
|
||||
console.error('❌ 同步失败');
|
||||
process.exit(1);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user