add-riskevent-discoveredat.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /**
  2. * 为 RiskEvent 表添加 discoveredAt(Date) 字段
  3. *
  4. * 用法: cd backend && npx tsx scripts/add-riskevent-discoveredat.ts
  5. */
  6. import 'dotenv/config';
  7. import Parse from '../src/db/parse-client.js';
  8. async function main(): Promise<void> {
  9. console.log('=== 为 RiskEvent 添加 discoveredAt 字段 ===');
  10. console.log(`Server: ${Parse.serverURL}`);
  11. console.log(`App ID: ${Parse.applicationId}\n`);
  12. try {
  13. const n = await new Parse.Query('_User').count({ useMasterKey: true });
  14. console.log(`✅ Parse 连接正常 (_User: ${n} 条)\n`);
  15. } catch (err: any) {
  16. console.error(`❌ Parse 连接失败: ${err.message}`);
  17. process.exit(1);
  18. }
  19. const schema = new Parse.Schema('RiskEvent');
  20. try {
  21. await schema.addField('discoveredAt', 'Date');
  22. await schema.update({ useMasterKey: true });
  23. console.log('+ RiskEvent.discoveredAt (Date) 字段已添加');
  24. } catch (err: any) {
  25. if (err.message?.includes('already')) {
  26. console.log('~ RiskEvent.discoveredAt 字段已存在,无需添加');
  27. } else {
  28. console.warn(`⚠ RiskEvent.discoveredAt 添加失败: ${err.message}`);
  29. }
  30. }
  31. console.log('\n=== 完成 ===');
  32. }
  33. main().catch((err) => {
  34. console.error('失败:', err.message);
  35. process.exit(1);
  36. });