Some checks failed
Dev CI / Unit Tests (${{ matrix.app }}) (backend) (push) Blocked by required conditions
Dev CI / Unit Tests (${{ matrix.app }}) (frontend) (push) Blocked by required conditions
Dev CI / Notify Failure (push) Blocked by required conditions
Dev CI / Quality (${{ matrix.app }}) (backend) (push) Has been cancelled
Dev CI / Quality (${{ matrix.app }}) (frontend) (push) Has been cancelled
Aligns dev with the complete application codebase (cicd branch). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
45 lines
1.4 KiB
JavaScript
45 lines
1.4 KiB
JavaScript
const { DataSource } = require('typeorm');
|
|
const path = require('path');
|
|
|
|
const AppDataSource = new DataSource({
|
|
type: 'postgres',
|
|
host: process.env.DATABASE_HOST,
|
|
port: parseInt(process.env.DATABASE_PORT, 10),
|
|
username: process.env.DATABASE_USER,
|
|
password: process.env.DATABASE_PASSWORD,
|
|
database: process.env.DATABASE_NAME,
|
|
entities: [path.join(__dirname, 'dist/**/*.orm-entity.js')],
|
|
migrations: [path.join(__dirname, 'dist/infrastructure/persistence/typeorm/migrations/*.js')],
|
|
synchronize: false,
|
|
logging: true,
|
|
});
|
|
|
|
console.log('🚀 Starting Xpeditis Backend Migration Script...');
|
|
console.log('📦 Initializing DataSource...');
|
|
|
|
AppDataSource.initialize()
|
|
.then(async () => {
|
|
console.log('✅ DataSource initialized successfully');
|
|
console.log('🔄 Running pending migrations...');
|
|
|
|
const migrations = await AppDataSource.runMigrations();
|
|
|
|
if (migrations.length === 0) {
|
|
console.log('✅ No pending migrations');
|
|
} else {
|
|
console.log(`✅ Successfully ran ${migrations.length} migration(s):`);
|
|
migrations.forEach((migration) => {
|
|
console.log(` - ${migration.name}`);
|
|
});
|
|
}
|
|
|
|
await AppDataSource.destroy();
|
|
console.log('✅ Database migrations completed successfully');
|
|
process.exit(0);
|
|
})
|
|
.catch((error) => {
|
|
console.error('❌ Error during migration:');
|
|
console.error(error);
|
|
process.exit(1);
|
|
});
|