add-user-isdeleted.ts 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /**
  2. * 为 _User 表添加 isDeleted(Boolean) 字段
  3. *
  4. * 用法: cd backend && npx tsx scripts/add-user-isdeleted.ts
  5. */
  6. import 'dotenv/config';
  7. import Parse from '../src/db/parse-client.js';
  8. async function main(): Promise<void> {
  9. console.log('=== 为 _User 添加 isDeleted 字段 ===');
  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('_User');
  20. try {
  21. await schema.addField('isDeleted', 'Boolean');
  22. console.log('+ isDeleted (Boolean) 字段已添加');
  23. } catch (err: any) {
  24. if (err.message?.includes('already')) {
  25. console.log('~ isDeleted 字段已存在,无需添加');
  26. } else {
  27. console.warn(`⚠ isDeleted 添加失败: ${err.message}`);
  28. }
  29. }
  30. await schema.update({ useMasterKey: true });
  31. console.log('\n=== 完成 ===');
  32. }
  33. main().catch((err) => {
  34. console.error('失败:', err.message);
  35. process.exit(1);
  36. });