Revalidate Docs / Revalidate Docs (push) Failing after 2s
E2E CI / Check Duplicate Run (push) Failing after 5s
Test CI / Check Duplicate Run (push) Failing after 6s
E2E CI / Test Web App (push) Has been skipped
Test CI / Test Packages (push) Has been skipped
Test CI / Test App (shard 1/3) (push) Has been skipped
Test CI / Test App (shard 2/3) (push) Has been skipped
Test CI / Test App (shard 3/3) (push) Has been skipped
Test CI / Test Desktop App (push) Has been skipped
🔄 Branch Synchronization / sync-branches (push) Failing after 11s
Test CI / Test Database (push) Has been skipped
Test CI / Merge and Upload App Coverage (push) Has been skipped
Database Schema Visualization CI / build (push) Failing after 4m14s
41 lines
1.3 KiB
JavaScript
41 lines
1.3 KiB
JavaScript
const { join } = require('node:path');
|
|
const { Pool } = require('pg');
|
|
const { drizzle } = require('drizzle-orm/node-postgres');
|
|
const migrator = require('drizzle-orm/node-postgres/migrator');
|
|
const { PGVECTOR_HINT } = require('./errorHint');
|
|
|
|
if (!process.env.DATABASE_URL) {
|
|
throw new Error('DATABASE_URL is not set, please set it in your environment variables.');
|
|
}
|
|
|
|
const client = new Pool({ connectionString: process.env.DATABASE_URL });
|
|
|
|
const db = drizzle(client);
|
|
|
|
const runMigrations = async () => {
|
|
console.log('[Database] Start to migration...');
|
|
await migrator.migrate(db, {
|
|
migrationsFolder: join(__dirname, './migrations'),
|
|
});
|
|
|
|
console.log('✅ database migration pass.');
|
|
console.log('-------------------------------------');
|
|
// eslint-disable-next-line unicorn/no-process-exit
|
|
process.exit(0);
|
|
};
|
|
|
|
// eslint-disable-next-line unicorn/prefer-top-level-await
|
|
runMigrations().catch((err) => {
|
|
console.error(
|
|
'❌ Database migrate failed. Please check your database is valid and DATABASE_URL is set correctly. The error detail is below:',
|
|
);
|
|
console.error(err);
|
|
|
|
if (err.message.includes('extension "vector" is not available')) {
|
|
console.info(PGVECTOR_HINT);
|
|
}
|
|
|
|
// eslint-disable-next-line unicorn/no-process-exit
|
|
process.exit(1);
|
|
});
|