@artilleryio/platform-fargate
Version:
Fargate support for Artillery
1 lines • 1.46 kB
JavaScript
module.exports={runDbMigrations:runDbMigrationsCommand};const setDefaultAWSCredentials=require("../../utils/aws-set-default-credentials"),getBackendStore=require("../../utils/get-backend-store"),createStore=require("../../data-api/store"),DataSource=require("typeorm")["DataSource"],entities=require("../../data-api/aurora-serverless/entities")["entities"],migrationFiles=require("../../data-api/aurora-serverless/migrations")["migrationFiles"];async function runDbMigrationsCommand(){console.log("Checking status..."),await setDefaultAWSCredentials();var backendStore=await getBackendStore(),store=("aws:aurora-v1"!==backendStore.type&&(console.log("Aurora Serverless v1 database is not configured"),console.log("Migrations don't need to be run"),process.exit(0)),createStore(backendStore));let initErr;try{await store.init()}catch(err){initErr=err}store=await store.checkMigrations(),0!==store.length&&initErr||(console.log("Database schema is already up to date"),process.exit(0)),console.log("Running migrations..."),console.log(store.join(",")),store=new DataSource({type:"aurora-postgres",secretArn:backendStore.config.secretArn,resourceArn:backendStore.config.resourceArn,region:backendStore.config.region,logging:!0,engine:"pg",database:backendStore.database,migrations:migrationFiles,entities:entities,migrationsTableName:"migrations"});await store.initialize(),await store.runMigrations({}),await store.close(),console.log("Migration completed")}