migrate-data-home.mjs 805 B

1234567891011121314151617181920
  1. import { appendFileSync } from 'node:fs'
  2. import { join } from 'node:path'
  3. import { defaultDataHome, legacyDataHome, legacyUpdateActive } from './lib/data-home.mjs'
  4. import { migrateManagedDataHome } from './lib/managed-data-migration.mjs'
  5. const deadline = Date.now() + 10 * 60 * 1000
  6. for (;;) {
  7. try {
  8. if (legacyUpdateActive()) throw new Error('旧版升级事务仍在运行')
  9. await migrateManagedDataHome({ home: defaultDataHome(), port: Number(process.argv[2] || 15300) })
  10. break
  11. } catch (error) {
  12. if (Date.now() >= deadline) {
  13. try { appendFileSync(join(legacyDataHome(), 'data-migration.log'), `${new Date().toISOString()} ${error.message}\n`, { mode: 0o600 }) } catch {}
  14. process.exitCode = 1
  15. break
  16. }
  17. await new Promise(done => setTimeout(done, 5000))
  18. }
  19. }