48 lines
1.7 KiB
JavaScript
48 lines
1.7 KiB
JavaScript
const mysql = require('mysql2/promise');
|
||
|
||
async function run() {
|
||
const conn = await mysql.createConnection({
|
||
host: '49.232.154.205',
|
||
port: 13306,
|
||
user: 'root',
|
||
password: 'Root@12345',
|
||
database: 'fad_oa_dev'
|
||
});
|
||
|
||
console.log('Connected. Running migration...\n');
|
||
|
||
// 1. Add manager_id to fad_rm_project
|
||
await conn.execute(`
|
||
ALTER TABLE fad_rm_project
|
||
ADD COLUMN manager_id BIGINT DEFAULT NULL COMMENT '项目经理用户ID,关联sys_user.user_id'
|
||
AFTER manager
|
||
`);
|
||
console.log('✓ Added manager_id to fad_rm_project');
|
||
|
||
// 2. Create fad_rm_project_member table
|
||
await conn.execute(`
|
||
CREATE TABLE IF NOT EXISTS fad_rm_project_member (
|
||
member_id BIGINT NOT NULL AUTO_INCREMENT COMMENT '成员ID',
|
||
project_id BIGINT NOT NULL COMMENT '项目ID',
|
||
user_id BIGINT NOT NULL COMMENT '用户ID',
|
||
role VARCHAR(50) DEFAULT 'member' COMMENT '角色: manager/member/viewer',
|
||
create_by VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
||
create_time DATETIME DEFAULT NULL COMMENT '创建时间',
|
||
update_by VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
||
update_time DATETIME DEFAULT NULL COMMENT '更新时间',
|
||
del_flag INT DEFAULT 0 COMMENT '删除标志',
|
||
PRIMARY KEY (member_id),
|
||
UNIQUE KEY uk_project_user (project_id, user_id)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='项目成员表'
|
||
`);
|
||
console.log('✓ Created fad_rm_project_member table');
|
||
|
||
await conn.end();
|
||
console.log('\nMigration complete!');
|
||
}
|
||
|
||
run().catch(err => {
|
||
console.error('Migration failed:', err.message);
|
||
process.exit(1);
|
||
});
|