quanyoumi/backend/migrations/0005-add-prize-source.js

40 lines
1.1 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

module.exports = {
async up(manager) {
console.log(' - 添加奖品来源字段...');
// 添加source字段默认值为purchase
await manager.executeSql(`
ALTER TABLE Prizes ADD COLUMN source TEXT DEFAULT 'purchase';
`);
// 添加sponsor字段
await manager.executeSql(`
ALTER TABLE Prizes ADD COLUMN sponsor TEXT;
`);
// 为现有数据设置默认值
await manager.executeSql(`
UPDATE Prizes SET source = 'purchase' WHERE source IS NULL;
`);
console.log(' - 奖品来源字段添加完成');
},
async down(manager) {
console.log(' - 移除奖品来源字段...');
// SQLite不支持DROP COLUMN需要重建表
await manager.executeSql(`
CREATE TABLE Prizes_backup AS SELECT
id, activityId, name, level, description, image, quantity, sortOrder, createdAt, updatedAt
FROM Prizes;
`);
await manager.executeSql(`DROP TABLE Prizes;`);
await manager.executeSql(`ALTER TABLE Prizes_backup RENAME TO Prizes;`);
console.log(' - 奖品来源字段移除完成');
}
};