Files
homarr/packages/db/migrations/mysql/migrate.ts
2025-12-17 08:59:52 +01:00

30 lines
850 B
TypeScript

import { migrate } from "drizzle-orm/mysql2/migrator";
import { createMysqlDb, createSharedDbConfig } from "@homarr/core/infrastructure/db";
import type { Database } from "../..";
import * as mysqlSchema from "../../schema/mysql";
import { applyCustomMigrationsAsync } from "../custom";
import { seedDataAsync } from "../seed";
const migrationsFolder = process.argv[2] ?? ".";
const migrateAsync = async () => {
const config = createSharedDbConfig(mysqlSchema);
const db = createMysqlDb(config);
await migrate(db, { migrationsFolder });
await seedDataAsync(db as unknown as Database);
await applyCustomMigrationsAsync(db as unknown as Database);
};
migrateAsync()
.then(() => {
console.log("Migration complete");
process.exit(0);
})
.catch((err) => {
console.log("Migration failed", err);
process.exit(1);
});