Files
dukang/server/dukang-api/prisma/migrate-wecom-api-plugin.ts
T

36 lines
1.1 KiB
TypeScript

/**
* 创建 wecom_api_plugin(若不存在)。
* 不依赖 Prisma Client 新 model,可在 generate 之前执行。
*/
import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient();
async function main() {
await prisma.$executeRawUnsafe(`
CREATE TABLE IF NOT EXISTS wecom_api_plugin (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(64) NOT NULL,
api_key VARCHAR(128) NOT NULL,
permissions TEXT NOT NULL,
remark VARCHAR(256) NULL,
enabled TINYINT(1) NOT NULL DEFAULT 1,
sort_order INT NOT NULL DEFAULT 0,
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
UNIQUE KEY wecom_api_plugin_api_key_key (api_key),
KEY wecom_api_plugin_enabled_sort (enabled, sort_order)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
`);
console.log('migrate-wecom-api-plugin done');
}
main()
.catch((e) => {
console.error(e);
process.exit(1);
})
.finally(async () => {
await prisma.$disconnect();
});