chore: migrate to sql-tools library (#26400)

Co-authored-by: Jason Rasmussen <jason@rasm.me>
This commit is contained in:
Daniel Dietzler
2026-02-23 15:50:16 +01:00
committed by GitHub
parent a469d350be
commit a07d7b0c82
231 changed files with 209 additions and 9151 deletions

View File

@@ -1,5 +1,5 @@
import { registerEnum } from '@immich/sql-tools';
import { AssetStatus, AssetVisibility, SourceType } from 'src/enum';
import { registerEnum } from 'src/sql-tools';
export const assets_status_enum = registerEnum({
name: 'assets_status_enum',

View File

@@ -1,4 +1,4 @@
import { registerFunction } from 'src/sql-tools';
import { registerFunction } from '@immich/sql-tools';
export const immich_uuid_v7 = registerFunction({
name: 'immich_uuid_v7',

View File

@@ -1,3 +1,4 @@
import { Database, Extensions, Generated, Int8 } from '@immich/sql-tools';
import { asset_face_source_type, asset_visibility_enum, assets_status_enum } from 'src/schema/enums';
import {
album_delete_audit,
@@ -72,7 +73,6 @@ import { UserMetadataTable } from 'src/schema/tables/user-metadata.table';
import { UserTable } from 'src/schema/tables/user.table';
import { VersionHistoryTable } from 'src/schema/tables/version-history.table';
import { WorkflowActionTable, WorkflowFilterTable, WorkflowTable } from 'src/schema/tables/workflow.table';
import { Database, Extensions, Generated, Int8 } from 'src/sql-tools';
@Extensions(['uuid-ossp', 'unaccent', 'cube', 'earthdistance', 'pg_trgm', 'plpgsql'])
@Database({ name: 'immich' })

View File

@@ -1,8 +1,3 @@
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { AlbumAssetTable } from 'src/schema/tables/album-asset.table';
import { AlbumTable } from 'src/schema/tables/album.table';
import { AssetTable } from 'src/schema/tables/asset.table';
import { UserTable } from 'src/schema/tables/user.table';
import {
Check,
Column,
@@ -15,7 +10,12 @@ import {
Table,
Timestamp,
UpdateDateColumn,
} from 'src/sql-tools';
} from '@immich/sql-tools';
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { AlbumAssetTable } from 'src/schema/tables/album-asset.table';
import { AlbumTable } from 'src/schema/tables/album.table';
import { AssetTable } from 'src/schema/tables/asset.table';
import { UserTable } from 'src/schema/tables/user.table';
@Table('activity')
@UpdatedAtTrigger('activity_updatedAt')

View File

@@ -1,6 +1,6 @@
import { Column, CreateDateColumn, ForeignKeyColumn, Generated, Table, Timestamp } from '@immich/sql-tools';
import { PrimaryGeneratedUuidV7Column } from 'src/decorators';
import { AlbumTable } from 'src/schema/tables/album.table';
import { Column, CreateDateColumn, ForeignKeyColumn, Generated, Table, Timestamp } from 'src/sql-tools';
@Table('album_asset_audit')
export class AlbumAssetAuditTable {

View File

@@ -1,7 +1,3 @@
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { album_asset_delete_audit } from 'src/schema/functions';
import { AlbumTable } from 'src/schema/tables/album.table';
import { AssetTable } from 'src/schema/tables/asset.table';
import {
AfterDeleteTrigger,
CreateDateColumn,
@@ -10,7 +6,11 @@ import {
Table,
Timestamp,
UpdateDateColumn,
} from 'src/sql-tools';
} from '@immich/sql-tools';
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { album_asset_delete_audit } from 'src/schema/functions';
import { AlbumTable } from 'src/schema/tables/album.table';
import { AssetTable } from 'src/schema/tables/asset.table';
@Table({ name: 'album_asset' })
@UpdatedAtTrigger('album_asset_updatedAt')

View File

@@ -1,5 +1,5 @@
import { Column, CreateDateColumn, Generated, Table, Timestamp } from '@immich/sql-tools';
import { PrimaryGeneratedUuidV7Column } from 'src/decorators';
import { Column, CreateDateColumn, Generated, Table, Timestamp } from 'src/sql-tools';
@Table('album_audit')
export class AlbumAuditTable {

View File

@@ -1,5 +1,5 @@
import { Column, CreateDateColumn, Generated, Table, Timestamp } from '@immich/sql-tools';
import { PrimaryGeneratedUuidV7Column } from 'src/decorators';
import { Column, CreateDateColumn, Generated, Table, Timestamp } from 'src/sql-tools';
@Table('album_user_audit')
export class AlbumUserAuditTable {

View File

@@ -1,8 +1,3 @@
import { CreateIdColumn, UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { AlbumUserRole } from 'src/enum';
import { album_user_after_insert, album_user_delete_audit } from 'src/schema/functions';
import { AlbumTable } from 'src/schema/tables/album.table';
import { UserTable } from 'src/schema/tables/user.table';
import {
AfterDeleteTrigger,
AfterInsertTrigger,
@@ -13,7 +8,12 @@ import {
Table,
Timestamp,
UpdateDateColumn,
} from 'src/sql-tools';
} from '@immich/sql-tools';
import { CreateIdColumn, UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { AlbumUserRole } from 'src/enum';
import { album_user_after_insert, album_user_delete_audit } from 'src/schema/functions';
import { AlbumTable } from 'src/schema/tables/album.table';
import { UserTable } from 'src/schema/tables/user.table';
@Table({ name: 'album_user' })
// Pre-existing indices from original album <--> user ManyToMany mapping

View File

@@ -1,8 +1,3 @@
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { AssetOrder } from 'src/enum';
import { album_delete_audit } from 'src/schema/functions';
import { AssetTable } from 'src/schema/tables/asset.table';
import { UserTable } from 'src/schema/tables/user.table';
import {
AfterDeleteTrigger,
Column,
@@ -14,7 +9,12 @@ import {
Table,
Timestamp,
UpdateDateColumn,
} from 'src/sql-tools';
} from '@immich/sql-tools';
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { AssetOrder } from 'src/enum';
import { album_delete_audit } from 'src/schema/functions';
import { AssetTable } from 'src/schema/tables/asset.table';
import { UserTable } from 'src/schema/tables/user.table';
@Table({ name: 'album' })
@UpdatedAtTrigger('album_updatedAt')

View File

@@ -1,6 +1,3 @@
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { Permission } from 'src/enum';
import { UserTable } from 'src/schema/tables/user.table';
import {
Column,
CreateDateColumn,
@@ -10,7 +7,10 @@ import {
Table,
Timestamp,
UpdateDateColumn,
} from 'src/sql-tools';
} from '@immich/sql-tools';
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { Permission } from 'src/enum';
import { UserTable } from 'src/schema/tables/user.table';
@Table('api_key')
@UpdatedAtTrigger('api_key_updatedAt')

View File

@@ -1,5 +1,5 @@
import { Column, CreateDateColumn, Generated, Table, Timestamp } from '@immich/sql-tools';
import { PrimaryGeneratedUuidV7Column } from 'src/decorators';
import { Column, CreateDateColumn, Generated, Table, Timestamp } from 'src/sql-tools';
@Table('asset_audit')
export class AssetAuditTable {

View File

@@ -1,6 +1,3 @@
import { AssetEditAction, AssetEditActionParameter } from 'src/dtos/editing.dto';
import { asset_edit_delete, asset_edit_insert } from 'src/schema/functions';
import { AssetTable } from 'src/schema/tables/asset.table';
import {
AfterDeleteTrigger,
AfterInsertTrigger,
@@ -10,7 +7,10 @@ import {
PrimaryGeneratedColumn,
Table,
Unique,
} from 'src/sql-tools';
} from '@immich/sql-tools';
import { AssetEditAction, AssetEditActionParameter } from 'src/dtos/editing.dto';
import { asset_edit_delete, asset_edit_insert } from 'src/schema/functions';
import { AssetTable } from 'src/schema/tables/asset.table';
@Table('asset_edit')
@AfterInsertTrigger({ scope: 'statement', function: asset_edit_insert, referencingNewTableAs: 'inserted_edit' })

View File

@@ -1,7 +1,7 @@
import { Column, ForeignKeyColumn, Generated, Int8, Table, Timestamp, UpdateDateColumn } from '@immich/sql-tools';
import { LockableProperty } from 'src/database';
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { AssetTable } from 'src/schema/tables/asset.table';
import { Column, ForeignKeyColumn, Generated, Int8, Table, Timestamp, UpdateDateColumn } from 'src/sql-tools';
@Table('asset_exif')
@UpdatedAtTrigger('asset_exif_updatedAt')

View File

@@ -1,5 +1,5 @@
import { Column, CreateDateColumn, Generated, Table, Timestamp } from '@immich/sql-tools';
import { PrimaryGeneratedUuidV7Column } from 'src/decorators';
import { Column, CreateDateColumn, Generated, Table, Timestamp } from 'src/sql-tools';
@Table('asset_face_audit')
export class AssetFaceAuditTable {

View File

@@ -1,9 +1,3 @@
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { SourceType } from 'src/enum';
import { asset_face_source_type } from 'src/schema/enums';
import { asset_face_audit } from 'src/schema/functions';
import { AssetTable } from 'src/schema/tables/asset.table';
import { PersonTable } from 'src/schema/tables/person.table';
import {
AfterDeleteTrigger,
Column,
@@ -15,7 +9,13 @@ import {
Table,
Timestamp,
UpdateDateColumn,
} from 'src/sql-tools';
} from '@immich/sql-tools';
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { SourceType } from 'src/enum';
import { asset_face_source_type } from 'src/schema/enums';
import { asset_face_audit } from 'src/schema/functions';
import { AssetTable } from 'src/schema/tables/asset.table';
import { PersonTable } from 'src/schema/tables/person.table';
@Table({ name: 'asset_face' })
@UpdatedAtTrigger('asset_face_updatedAt')

View File

@@ -1,6 +1,3 @@
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { AssetFileType } from 'src/enum';
import { AssetTable } from 'src/schema/tables/asset.table';
import {
Column,
CreateDateColumn,
@@ -11,7 +8,10 @@ import {
Timestamp,
Unique,
UpdateDateColumn,
} from 'src/sql-tools';
} from '@immich/sql-tools';
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { AssetFileType } from 'src/enum';
import { AssetTable } from 'src/schema/tables/asset.table';
@Table('asset_file')
@Unique({ columns: ['assetId', 'type', 'isEdited'] })

View File

@@ -1,5 +1,5 @@
import { Column, ForeignKeyColumn, Table, Timestamp } from '@immich/sql-tools';
import { AssetTable } from 'src/schema/tables/asset.table';
import { Column, ForeignKeyColumn, Table, Timestamp } from 'src/sql-tools';
@Table('asset_job_status')
export class AssetJobStatusTable {

View File

@@ -1,5 +1,5 @@
import { Column, CreateDateColumn, Generated, Table, Timestamp } from '@immich/sql-tools';
import { PrimaryGeneratedUuidV7Column } from 'src/decorators';
import { Column, CreateDateColumn, Generated, Table, Timestamp } from 'src/sql-tools';
@Table('asset_metadata_audit')
export class AssetMetadataAuditTable {

View File

@@ -1,7 +1,3 @@
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { AssetMetadataKey } from 'src/enum';
import { asset_metadata_audit } from 'src/schema/functions';
import { AssetTable } from 'src/schema/tables/asset.table';
import {
AfterDeleteTrigger,
Column,
@@ -11,7 +7,11 @@ import {
Table,
Timestamp,
UpdateDateColumn,
} from 'src/sql-tools';
} from '@immich/sql-tools';
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { AssetMetadataKey } from 'src/enum';
import { asset_metadata_audit } from 'src/schema/functions';
import { AssetTable } from 'src/schema/tables/asset.table';
@UpdatedAtTrigger('asset_metadata_updated_at')
@Table('asset_metadata')

View File

@@ -1,5 +1,5 @@
import { Column, ForeignKeyColumn, Generated, PrimaryGeneratedColumn, Table } from '@immich/sql-tools';
import { AssetTable } from 'src/schema/tables/asset.table';
import { Column, ForeignKeyColumn, Generated, PrimaryGeneratedColumn, Table } from 'src/sql-tools';
@Table('asset_ocr')
export class AssetOcrTable {

View File

@@ -1,10 +1,3 @@
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { AssetStatus, AssetType, AssetVisibility } from 'src/enum';
import { asset_visibility_enum, assets_status_enum } from 'src/schema/enums';
import { asset_delete_audit } from 'src/schema/functions';
import { LibraryTable } from 'src/schema/tables/library.table';
import { StackTable } from 'src/schema/tables/stack.table';
import { UserTable } from 'src/schema/tables/user.table';
import {
AfterDeleteTrigger,
Column,
@@ -17,7 +10,14 @@ import {
Table,
Timestamp,
UpdateDateColumn,
} from 'src/sql-tools';
} from '@immich/sql-tools';
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { AssetStatus, AssetType, AssetVisibility } from 'src/enum';
import { asset_visibility_enum, assets_status_enum } from 'src/schema/enums';
import { asset_delete_audit } from 'src/schema/functions';
import { LibraryTable } from 'src/schema/tables/library.table';
import { StackTable } from 'src/schema/tables/stack.table';
import { UserTable } from 'src/schema/tables/user.table';
import { ASSET_CHECKSUM_CONSTRAINT } from 'src/utils/database';
@Table('asset')

View File

@@ -1,5 +1,5 @@
import { Column, CreateDateColumn, Generated, Index, PrimaryColumn, Table, Timestamp } from '@immich/sql-tools';
import { DatabaseAction, EntityType } from 'src/enum';
import { Column, CreateDateColumn, Generated, Index, PrimaryColumn, Table, Timestamp } from 'src/sql-tools';
@Table('audit')
@Index({ columns: ['ownerId', 'createdAt'] })

View File

@@ -1,5 +1,5 @@
import { Column, ForeignKeyColumn, Index, Table } from '@immich/sql-tools';
import { AssetFaceTable } from 'src/schema/tables/asset-face.table';
import { Column, ForeignKeyColumn, Index, Table } from 'src/sql-tools';
@Table({ name: 'face_search' })
@Index({

View File

@@ -1,4 +1,4 @@
import { Column, Index, PrimaryColumn, Table, Timestamp } from 'src/sql-tools';
import { Column, Index, PrimaryColumn, Table, Timestamp } from '@immich/sql-tools';
@Table({ name: 'geodata_places', primaryConstraintName: 'geodata_places_pkey' })
@Index({

View File

@@ -1,5 +1,3 @@
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { UserTable } from 'src/schema/tables/user.table';
import {
Column,
CreateDateColumn,
@@ -10,7 +8,9 @@ import {
Table,
Timestamp,
UpdateDateColumn,
} from 'src/sql-tools';
} from '@immich/sql-tools';
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { UserTable } from 'src/schema/tables/user.table';
@Table('library')
@UpdatedAtTrigger('library_updatedAt')

View File

@@ -1,6 +1,6 @@
import { Column, CreateDateColumn, ForeignKeyColumn, Generated, Table, Timestamp } from '@immich/sql-tools';
import { PrimaryGeneratedUuidV7Column } from 'src/decorators';
import { MemoryTable } from 'src/schema/tables/memory.table';
import { Column, CreateDateColumn, ForeignKeyColumn, Generated, Table, Timestamp } from 'src/sql-tools';
@Table('memory_asset_audit')
export class MemoryAssetAuditTable {

View File

@@ -1,7 +1,3 @@
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { memory_asset_delete_audit } from 'src/schema/functions';
import { AssetTable } from 'src/schema/tables/asset.table';
import { MemoryTable } from 'src/schema/tables/memory.table';
import {
AfterDeleteTrigger,
CreateDateColumn,
@@ -10,7 +6,11 @@ import {
Table,
Timestamp,
UpdateDateColumn,
} from 'src/sql-tools';
} from '@immich/sql-tools';
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { memory_asset_delete_audit } from 'src/schema/functions';
import { AssetTable } from 'src/schema/tables/asset.table';
import { MemoryTable } from 'src/schema/tables/memory.table';
@Table('memory_asset')
@UpdatedAtTrigger('memory_asset_updatedAt')

View File

@@ -1,5 +1,5 @@
import { Column, CreateDateColumn, Generated, Table, Timestamp } from '@immich/sql-tools';
import { PrimaryGeneratedUuidV7Column } from 'src/decorators';
import { Column, CreateDateColumn, Generated, Table, Timestamp } from 'src/sql-tools';
@Table('memory_audit')
export class MemoryAuditTable {

View File

@@ -1,7 +1,3 @@
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { MemoryType } from 'src/enum';
import { memory_delete_audit } from 'src/schema/functions';
import { UserTable } from 'src/schema/tables/user.table';
import {
AfterDeleteTrigger,
Column,
@@ -13,7 +9,11 @@ import {
Table,
Timestamp,
UpdateDateColumn,
} from 'src/sql-tools';
} from '@immich/sql-tools';
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { MemoryType } from 'src/enum';
import { memory_delete_audit } from 'src/schema/functions';
import { UserTable } from 'src/schema/tables/user.table';
@Table('memory')
@UpdatedAtTrigger('memory_updatedAt')

View File

@@ -1,5 +1,5 @@
import { Column, Generated, PrimaryGeneratedColumn, Table, Unique } from '@immich/sql-tools';
import { PathType } from 'src/enum';
import { Column, Generated, PrimaryGeneratedColumn, Table, Unique } from 'src/sql-tools';
@Table('move_history')
// path lock (per entity)

View File

@@ -1,4 +1,4 @@
import { Column, Generated, PrimaryGeneratedColumn, Table } from 'src/sql-tools';
import { Column, Generated, PrimaryGeneratedColumn, Table } from '@immich/sql-tools';
@Table({ name: 'naturalearth_countries', primaryConstraintName: 'naturalearth_countries_pkey' })
export class NaturalEarthCountriesTable {

View File

@@ -1,6 +1,3 @@
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { NotificationLevel, NotificationType } from 'src/enum';
import { UserTable } from 'src/schema/tables/user.table';
import {
Column,
CreateDateColumn,
@@ -11,7 +8,10 @@ import {
Table,
Timestamp,
UpdateDateColumn,
} from 'src/sql-tools';
} from '@immich/sql-tools';
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { NotificationLevel, NotificationType } from 'src/enum';
import { UserTable } from 'src/schema/tables/user.table';
@Table('notification')
@UpdatedAtTrigger('notification_updatedAt')

View File

@@ -1,5 +1,5 @@
import { Column, ForeignKeyColumn, Index, Table } from '@immich/sql-tools';
import { AssetTable } from 'src/schema/tables/asset.table';
import { Column, ForeignKeyColumn, Index, Table } from 'src/sql-tools';
@Table('ocr_search')
@Index({

View File

@@ -1,5 +1,5 @@
import { Column, CreateDateColumn, Generated, Table, Timestamp } from '@immich/sql-tools';
import { PrimaryGeneratedUuidV7Column } from 'src/decorators';
import { Column, CreateDateColumn, Generated, Table, Timestamp } from 'src/sql-tools';
@Table('partner_audit')
export class PartnerAuditTable {

View File

@@ -1,6 +1,3 @@
import { CreateIdColumn, UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { partner_delete_audit } from 'src/schema/functions';
import { UserTable } from 'src/schema/tables/user.table';
import {
AfterDeleteTrigger,
Column,
@@ -10,7 +7,10 @@ import {
Table,
Timestamp,
UpdateDateColumn,
} from 'src/sql-tools';
} from '@immich/sql-tools';
import { CreateIdColumn, UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { partner_delete_audit } from 'src/schema/functions';
import { UserTable } from 'src/schema/tables/user.table';
@Table('partner')
@UpdatedAtTrigger('partner_updatedAt')

View File

@@ -1,5 +1,5 @@
import { Column, CreateDateColumn, Generated, Table, Timestamp } from '@immich/sql-tools';
import { PrimaryGeneratedUuidV7Column } from 'src/decorators';
import { Column, CreateDateColumn, Generated, Table, Timestamp } from 'src/sql-tools';
@Table('person_audit')
export class PersonAuditTable {

View File

@@ -1,7 +1,3 @@
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { person_delete_audit } from 'src/schema/functions';
import { AssetFaceTable } from 'src/schema/tables/asset-face.table';
import { UserTable } from 'src/schema/tables/user.table';
import {
AfterDeleteTrigger,
Check,
@@ -13,7 +9,11 @@ import {
Table,
Timestamp,
UpdateDateColumn,
} from 'src/sql-tools';
} from '@immich/sql-tools';
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { person_delete_audit } from 'src/schema/functions';
import { AssetFaceTable } from 'src/schema/tables/asset-face.table';
import { UserTable } from 'src/schema/tables/user.table';
@Table('person')
@UpdatedAtTrigger('person_updatedAt')

View File

@@ -1,4 +1,3 @@
import { PluginContext } from 'src/enum';
import {
Column,
CreateDateColumn,
@@ -9,7 +8,8 @@ import {
Table,
Timestamp,
UpdateDateColumn,
} from 'src/sql-tools';
} from '@immich/sql-tools';
import { PluginContext } from 'src/enum';
import type { JSONSchema } from 'src/types/plugin-schema.types';
@Table('plugin')

View File

@@ -1,5 +1,3 @@
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { UserTable } from 'src/schema/tables/user.table';
import {
Column,
CreateDateColumn,
@@ -9,7 +7,9 @@ import {
Table,
Timestamp,
UpdateDateColumn,
} from 'src/sql-tools';
} from '@immich/sql-tools';
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { UserTable } from 'src/schema/tables/user.table';
@Table({ name: 'session' })
@UpdatedAtTrigger('session_updatedAt')

View File

@@ -1,6 +1,6 @@
import { ForeignKeyColumn, Table } from '@immich/sql-tools';
import { AssetTable } from 'src/schema/tables/asset.table';
import { SharedLinkTable } from 'src/schema/tables/shared-link.table';
import { ForeignKeyColumn, Table } from 'src/sql-tools';
@Table('shared_link_asset')
export class SharedLinkAssetTable {

View File

@@ -1,6 +1,3 @@
import { SharedLinkType } from 'src/enum';
import { AlbumTable } from 'src/schema/tables/album.table';
import { UserTable } from 'src/schema/tables/user.table';
import {
Column,
CreateDateColumn,
@@ -9,7 +6,10 @@ import {
PrimaryGeneratedColumn,
Table,
Timestamp,
} from 'src/sql-tools';
} from '@immich/sql-tools';
import { SharedLinkType } from 'src/enum';
import { AlbumTable } from 'src/schema/tables/album.table';
import { UserTable } from 'src/schema/tables/user.table';
@Table('shared_link')
export class SharedLinkTable {

View File

@@ -1,5 +1,5 @@
import { Column, ForeignKeyColumn, Index, Table } from '@immich/sql-tools';
import { AssetTable } from 'src/schema/tables/asset.table';
import { Column, ForeignKeyColumn, Index, Table } from 'src/sql-tools';
@Table({ name: 'smart_search' })
@Index({

View File

@@ -1,5 +1,5 @@
import { Column, CreateDateColumn, Generated, Table, Timestamp } from '@immich/sql-tools';
import { PrimaryGeneratedUuidV7Column } from 'src/decorators';
import { Column, CreateDateColumn, Generated, Table, Timestamp } from 'src/sql-tools';
@Table('stack_audit')
export class StackAuditTable {

View File

@@ -1,7 +1,3 @@
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { stack_delete_audit } from 'src/schema/functions';
import { AssetTable } from 'src/schema/tables/asset.table';
import { UserTable } from 'src/schema/tables/user.table';
import {
AfterDeleteTrigger,
CreateDateColumn,
@@ -11,7 +7,11 @@ import {
Table,
Timestamp,
UpdateDateColumn,
} from 'src/sql-tools';
} from '@immich/sql-tools';
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { stack_delete_audit } from 'src/schema/functions';
import { AssetTable } from 'src/schema/tables/asset.table';
import { UserTable } from 'src/schema/tables/user.table';
@Table('stack')
@UpdatedAtTrigger('stack_updatedAt')

View File

@@ -1,6 +1,3 @@
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { SyncEntityType } from 'src/enum';
import { SessionTable } from 'src/schema/tables/session.table';
import {
Column,
CreateDateColumn,
@@ -10,7 +7,10 @@ import {
Table,
Timestamp,
UpdateDateColumn,
} from 'src/sql-tools';
} from '@immich/sql-tools';
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { SyncEntityType } from 'src/enum';
import { SessionTable } from 'src/schema/tables/session.table';
@Table('session_sync_checkpoint')
@UpdatedAtTrigger('session_sync_checkpoint_updatedAt')

View File

@@ -1,5 +1,5 @@
import { Column, PrimaryColumn, Table } from '@immich/sql-tools';
import { SystemMetadataKey } from 'src/enum';
import { Column, PrimaryColumn, Table } from 'src/sql-tools';
import { SystemMetadata } from 'src/types';
@Table('system_metadata')

View File

@@ -1,6 +1,6 @@
import { ForeignKeyColumn, Index, Table } from '@immich/sql-tools';
import { AssetTable } from 'src/schema/tables/asset.table';
import { TagTable } from 'src/schema/tables/tag.table';
import { ForeignKeyColumn, Index, Table } from 'src/sql-tools';
@Index({ columns: ['assetId', 'tagId'] })
@Table('tag_asset')

View File

@@ -1,5 +1,5 @@
import { ForeignKeyColumn, Table } from '@immich/sql-tools';
import { TagTable } from 'src/schema/tables/tag.table';
import { ForeignKeyColumn, Table } from 'src/sql-tools';
@Table('tag_closure')
export class TagClosureTable {

View File

@@ -1,5 +1,3 @@
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { UserTable } from 'src/schema/tables/user.table';
import {
Column,
CreateDateColumn,
@@ -10,7 +8,9 @@ import {
Timestamp,
Unique,
UpdateDateColumn,
} from 'src/sql-tools';
} from '@immich/sql-tools';
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { UserTable } from 'src/schema/tables/user.table';
@Table('tag')
@UpdatedAtTrigger('tag_updatedAt')

View File

@@ -1,5 +1,5 @@
import { Column, CreateDateColumn, Generated, Table, Timestamp } from '@immich/sql-tools';
import { PrimaryGeneratedUuidV7Column } from 'src/decorators';
import { Column, CreateDateColumn, Generated, Table, Timestamp } from 'src/sql-tools';
@Table('user_audit')
export class UserAuditTable {

View File

@@ -1,6 +1,6 @@
import { Column, CreateDateColumn, Generated, Table, Timestamp } from '@immich/sql-tools';
import { PrimaryGeneratedUuidV7Column } from 'src/decorators';
import { UserMetadataKey } from 'src/enum';
import { Column, CreateDateColumn, Generated, Table, Timestamp } from 'src/sql-tools';
@Table('user_metadata_audit')
export class UserMetadataAuditTable {

View File

@@ -1,7 +1,3 @@
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { UserMetadataKey } from 'src/enum';
import { user_metadata_audit } from 'src/schema/functions';
import { UserTable } from 'src/schema/tables/user.table';
import {
AfterDeleteTrigger,
Column,
@@ -11,7 +7,11 @@ import {
Table,
Timestamp,
UpdateDateColumn,
} from 'src/sql-tools';
} from '@immich/sql-tools';
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { UserMetadataKey } from 'src/enum';
import { user_metadata_audit } from 'src/schema/functions';
import { UserTable } from 'src/schema/tables/user.table';
import { UserMetadata, UserMetadataItem } from 'src/types';
@UpdatedAtTrigger('user_metadata_updated_at')

View File

@@ -1,7 +1,3 @@
import { ColumnType } from 'kysely';
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { UserAvatarColor, UserStatus } from 'src/enum';
import { user_delete_audit } from 'src/schema/functions';
import {
AfterDeleteTrigger,
Column,
@@ -13,7 +9,11 @@ import {
Table,
Timestamp,
UpdateDateColumn,
} from 'src/sql-tools';
} from '@immich/sql-tools';
import { ColumnType } from 'kysely';
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
import { UserAvatarColor, UserStatus } from 'src/enum';
import { user_delete_audit } from 'src/schema/functions';
@Table('user')
@UpdatedAtTrigger('user_updatedAt')

View File

@@ -1,4 +1,4 @@
import { Column, CreateDateColumn, Generated, PrimaryGeneratedColumn, Table, Timestamp } from 'src/sql-tools';
import { Column, CreateDateColumn, Generated, PrimaryGeneratedColumn, Table, Timestamp } from '@immich/sql-tools';
@Table('version_history')
export class VersionHistoryTable {

View File

@@ -1,6 +1,3 @@
import { PluginTriggerType } from 'src/enum';
import { PluginActionTable, PluginFilterTable } from 'src/schema/tables/plugin.table';
import { UserTable } from 'src/schema/tables/user.table';
import {
Column,
CreateDateColumn,
@@ -10,7 +7,10 @@ import {
PrimaryGeneratedColumn,
Table,
Timestamp,
} from 'src/sql-tools';
} from '@immich/sql-tools';
import { PluginTriggerType } from 'src/enum';
import { PluginActionTable, PluginFilterTable } from 'src/schema/tables/plugin.table';
import { UserTable } from 'src/schema/tables/user.table';
import type { ActionConfig, FilterConfig } from 'src/types/plugin-schema.types';
@Table('workflow')