mirror of
https://github.com/hydralauncher/hydra.git
synced 2025-03-09 15:40:26 +00:00
40 lines
1.3 KiB
TypeScript
40 lines
1.3 KiB
TypeScript
import knex, { Knex } from "knex";
|
|
import { databasePath } from "./constants";
|
|
import { Hydra2_0_3 } from "./migrations/20240830143811_Hydra_2_0_3";
|
|
import { RepackUris } from "./migrations/20240830143906_RepackUris";
|
|
import { UpdateUserLanguage } from "./migrations/20240913213944_update_user_language";
|
|
import { EnsureRepackUris } from "./migrations/20240915035339_ensure_repack_uris";
|
|
import { app } from "electron";
|
|
import { FixMissingColumns } from "./migrations/20240918001920_FixMissingColumns";
|
|
|
|
export type HydraMigration = Knex.Migration & { name: string };
|
|
|
|
class MigrationSource implements Knex.MigrationSource<HydraMigration> {
|
|
getMigrations(): Promise<HydraMigration[]> {
|
|
return Promise.resolve([
|
|
Hydra2_0_3,
|
|
RepackUris,
|
|
UpdateUserLanguage,
|
|
EnsureRepackUris,
|
|
FixMissingColumns,
|
|
]);
|
|
}
|
|
getMigrationName(migration: HydraMigration): string {
|
|
return migration.name;
|
|
}
|
|
getMigration(migration: HydraMigration): Promise<Knex.Migration> {
|
|
return Promise.resolve(migration);
|
|
}
|
|
}
|
|
|
|
export const knexClient = knex({
|
|
debug: !app.isPackaged,
|
|
client: "better-sqlite3",
|
|
connection: {
|
|
filename: databasePath,
|
|
},
|
|
});
|
|
|
|
export const migrationConfig: Knex.MigratorConfig = {
|
|
migrationSource: new MigrationSource(),
|
|
};
|