diff --git a/docs/getting-started/database-config.mdx b/docs/extending-jellyseerr/database-config.mdx similarity index 100% rename from docs/getting-started/database-config.mdx rename to docs/extending-jellyseerr/database-config.mdx diff --git a/server/entity/Media.ts b/server/entity/Media.ts index a27f2482..008b4a59 100644 --- a/server/entity/Media.ts +++ b/server/entity/Media.ts @@ -10,6 +10,7 @@ import type { DownloadingItem } from '@server/lib/downloadtracker'; import downloadTracker from '@server/lib/downloadtracker'; import { getSettings } from '@server/lib/settings'; import logger from '@server/logger'; +import { DbAwareColumn } from '@server/utils/DbColumnHelper'; import { getHostname } from '@server/utils/getHostname'; import { AfterLoad, @@ -129,10 +130,10 @@ class Media { @UpdateDateColumn() public updatedAt: Date; - @Column({ type: 'timestamp without time zone', default: () => 'now()' }) + @DbAwareColumn({ type: 'datetime', default: () => 'now()' }) public lastSeasonChange: Date; - @Column({ type: 'timestamp without time zone', default: () => 'now()' }) + @DbAwareColumn({ type: 'datetime', default: () => 'now()' }) public mediaAddedAt: Date; @Column({ nullable: true, type: 'int' }) diff --git a/server/migration/postgres/1699901142442-AddBlacklist.ts b/server/migration/postgres/1730770837441-AddBlacklist.ts similarity index 89% rename from server/migration/postgres/1699901142442-AddBlacklist.ts rename to server/migration/postgres/1730770837441-AddBlacklist.ts index be889258..c6ea14cc 100644 --- a/server/migration/postgres/1699901142442-AddBlacklist.ts +++ b/server/migration/postgres/1730770837441-AddBlacklist.ts @@ -1,7 +1,7 @@ import type { MigrationInterface, QueryRunner } from 'typeorm'; -export class AddBlacklist1699901142442 implements MigrationInterface { - name = 'AddBlacklist1699901142442'; +export class AddBlacklist1730770837441 implements MigrationInterface { + name = 'AddBlacklist1730770837441'; public async up(queryRunner: QueryRunner): Promise { await queryRunner.query( diff --git a/server/utils/DbColumnHelper.ts b/server/utils/DbColumnHelper.ts new file mode 100644 index 00000000..4bdb00c9 --- /dev/null +++ b/server/utils/DbColumnHelper.ts @@ -0,0 +1,20 @@ +import { isPgsql } from '@server/datasource'; +import type { ColumnOptions, ColumnType } from 'typeorm'; +import { Column } from 'typeorm'; +const pgTypeMapping: { [key: string]: ColumnType } = { + datetime: 'timestamp without time zone', +}; + +export function resolveDbType(pgType: ColumnType): ColumnType { + if (isPgsql && pgType.toString() in pgTypeMapping) { + return pgTypeMapping[pgType.toString()]; + } + return pgType; +} + +export function DbAwareColumn(columnOptions: ColumnOptions) { + if (columnOptions.type) { + columnOptions.type = resolveDbType(columnOptions.type); + } + return Column(columnOptions); +}