chamesu
Version:
This package contains all packages of the chat application.
43 lines (32 loc) • 1.06 kB
text/typescript
/*
* Copyright (c) 2022.
* Author Peter Placzek (tada5hi)
* For the full copyright and license information,
* view the LICENSE file that was distributed with this source code.
*/
import {Arguments, Argv, CommandModule} from "yargs";
import {buildConnectionOptions} from "typeorm-extension";
import {createConnection} from "typeorm";
interface UpgradeArguments extends Arguments {
}
export class UpgradeCommand implements CommandModule {
command = "upgrade";
describe = "Run upgrade operation.";
builder(args: Argv) {
return args;
}
async handler(args: UpgradeArguments) {
const connectionOptions = await buildConnectionOptions();
const connection = await createConnection(connectionOptions);
if(process.env.NODE_ENV === 'development') {
await connection.synchronize();
}
try {
await connection.runMigrations({transaction: "all"});
} catch (e) {
throw e;
} finally {
await connection.close();
}
}
}