chore: Add flag to prevent automatic migration running on startup
This commit is contained in:
@@ -10,10 +10,11 @@ export function getArg(name: string, shortName?: string) {
|
|||||||
.slice(2)
|
.slice(2)
|
||||||
.filter(
|
.filter(
|
||||||
(arg) =>
|
(arg) =>
|
||||||
|
arg === `--${name}` ||
|
||||||
arg.startsWith(`--${name}=`) ||
|
arg.startsWith(`--${name}=`) ||
|
||||||
(shortName && arg.startsWith(`-${shortName}=`))
|
(shortName && arg.startsWith(`-${shortName}=`))
|
||||||
)
|
)
|
||||||
.map((arg) => arg.split("=")[1])
|
.map((arg) => arg.split("=")[1] ?? "true")
|
||||||
.map((arg) => arg.trim())
|
.map((arg) => arg.trim())
|
||||||
.join(",");
|
.join(",");
|
||||||
|
|
||||||
|
|||||||
@@ -5,13 +5,23 @@ import Logger from "@server/logging/Logger";
|
|||||||
import AuthenticationProvider from "@server/models/AuthenticationProvider";
|
import AuthenticationProvider from "@server/models/AuthenticationProvider";
|
||||||
import Team from "@server/models/Team";
|
import Team from "@server/models/Team";
|
||||||
import { migrations } from "@server/storage/database";
|
import { migrations } from "@server/storage/database";
|
||||||
|
import { getArg } from "./args";
|
||||||
|
|
||||||
export async function checkPendingMigrations() {
|
export async function checkPendingMigrations() {
|
||||||
try {
|
try {
|
||||||
const pending = await migrations.pending();
|
const pending = await migrations.pending();
|
||||||
if (!isEmpty(pending)) {
|
if (!isEmpty(pending)) {
|
||||||
Logger.info("database", "Running migrations…");
|
if (getArg("no-migrate")) {
|
||||||
await migrations.up();
|
Logger.warn(
|
||||||
|
chalk.red(
|
||||||
|
`Database migrations are pending and were not ran because --no-migrate flag was passed.\nRun the migrations with "yarn db:migrate".`
|
||||||
|
)
|
||||||
|
);
|
||||||
|
process.exit(1);
|
||||||
|
} else {
|
||||||
|
Logger.info("database", "Running migrations…");
|
||||||
|
await migrations.up();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
await checkDataMigrations();
|
await checkDataMigrations();
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
|||||||
Reference in New Issue
Block a user