diff --git a/src/main/data-source.ts b/src/main/data-source.ts index 11725a20..52137547 100644 --- a/src/main/data-source.ts +++ b/src/main/data-source.ts @@ -9,6 +9,7 @@ import { import type { SqliteConnectionOptions } from "typeorm/driver/sqlite/SqliteConnectionOptions"; import { databasePath } from "./constants"; +import migrations from "./migrations"; export const createDataSource = (options: Partial) => new DataSource({ @@ -16,6 +17,8 @@ export const createDataSource = (options: Partial) => database: databasePath, entities: [Game, Repack, UserPreferences, GameShopCache, SteamGame], synchronize: true, + migrations: migrations, + migrationsRun: true, ...options, }); diff --git a/src/main/migrations/fix-repack-uploadDate/1715900413313-fix_repack_uploadDate.ts b/src/main/migrations/fix-repack-uploadDate/1715900413313-fix_repack_uploadDate.ts new file mode 100644 index 00000000..93af0dbe --- /dev/null +++ b/src/main/migrations/fix-repack-uploadDate/1715900413313-fix_repack_uploadDate.ts @@ -0,0 +1,13 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class FixRepackUploadDate1715900413313 implements MigrationInterface { + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `UPDATE repack SET uploadDate = datetime('now') WHERE uploadDate LIKE '%NaN%';` + ); + } + + public async down(_: QueryRunner): Promise { + return; + } +} diff --git a/src/main/migrations/index.ts b/src/main/migrations/index.ts new file mode 100644 index 00000000..d922a76a --- /dev/null +++ b/src/main/migrations/index.ts @@ -0,0 +1,3 @@ +import { FixRepackUploadDate1715900413313 } from "./fix-repack-uploadDate/1715900413313-fix_repack_uploadDate"; + +export default [FixRepackUploadDate1715900413313];