mirror of
https://github.com/immich-app/immich.git
synced 2025-12-02 11:38:06 -05:00
* refactor microservices to machine-learning * Update tGithub issue template with correct task syntax * Added microservices container * Communicate between service based on queue system * added dependency * Fixed problem with having to import BullQueue into the individual service * Added todo * refactor server into monorepo with microservices * refactor database and entity to library * added simple migration * Move migrations and database config to library * Migration works in library * Cosmetic change in logging message * added user dto * Fixed issue with testing not able to find the shared library * Clean up library mapping path * Added webp generator to microservices * Update Github Action build latest * Fixed issue NPM cannot install due to conflict witl Bull Queue * format project with prettier * Modified docker-compose file * Add GH Action for Staging build: * Fixed GH action job name * Modified GH Action to only build & push latest when pushing to main * Added Test 2e2 Github Action * Added Test 2e2 Github Action * Implemented microservice to extract exif * Added cronjob to scan and generate webp thumbnail at midnight * Refactor to ireduce hit time to database when running microservices * Added error handling to asset services that handle read file from disk * Added video transcoding queue to process one video at a time * Fixed loading spinner on web while loading covering the info panel * Add mechanism to show new release announcement to web and mobile app (#209) * Added changelog page * Fixed issues based on PR comments * Fixed issue with video transcoding run on the server * Change entry point content for backward combatibility when starting up server * Added announcement box * Added error handling to failed silently when the app version checking is not able to make the request to GITHUB * Added new version announcement overlay * Update message * Added messages * Added logic to check and show announcement * Add method to handle saving new version * Added button to dimiss the acknowledge message * Up version for deployment to the app store
71 lines
2.5 KiB
TypeScript
71 lines
2.5 KiB
TypeScript
import { MigrationInterface, QueryRunner } from 'typeorm';
|
|
|
|
export class CreateSharedAlbumAndRelatedTables1649643216111 implements MigrationInterface {
|
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
// Create shared_albums
|
|
await queryRunner.query(`
|
|
create table if not exists shared_albums
|
|
(
|
|
id uuid default uuid_generate_v4() not null
|
|
constraint "PK_7f71c7b5bc7c87b8f94c9a93a00"
|
|
primary key,
|
|
"ownerId" varchar not null,
|
|
"albumName" varchar default 'Untitled Album'::character varying not null,
|
|
"createdAt" timestamp with time zone default now() not null,
|
|
"albumThumbnailAssetId" varchar
|
|
);
|
|
|
|
comment on column shared_albums."albumThumbnailAssetId" is 'Asset ID to be used as thumbnail';
|
|
`);
|
|
|
|
// Create user_shared_album
|
|
await queryRunner.query(`
|
|
create table if not exists user_shared_album
|
|
(
|
|
id serial
|
|
constraint "PK_b6562316a98845a7b3e9a25cdd0"
|
|
primary key,
|
|
"albumId" uuid not null
|
|
constraint "FK_7b3bf0f5f8da59af30519c25f18"
|
|
references shared_albums
|
|
on delete cascade,
|
|
"sharedUserId" uuid not null
|
|
constraint "FK_543c31211653e63e080ba882eb5"
|
|
references users,
|
|
constraint "PK_unique_user_in_album"
|
|
unique ("albumId", "sharedUserId")
|
|
);
|
|
`);
|
|
|
|
// Create asset_shared_album
|
|
await queryRunner.query(
|
|
`
|
|
create table if not exists asset_shared_album
|
|
(
|
|
id serial
|
|
constraint "PK_a34e076afbc601d81938e2c2277"
|
|
primary key,
|
|
"albumId" uuid not null
|
|
constraint "FK_a8b79a84996cef6ba6a3662825d"
|
|
references shared_albums
|
|
on delete cascade,
|
|
"assetId" uuid not null
|
|
constraint "FK_64f2e7d68d1d1d8417acc844a4a"
|
|
references assets
|
|
on delete cascade,
|
|
constraint "UQ_a1e2734a1ce361e7a26f6b28288"
|
|
unique ("albumId", "assetId")
|
|
);
|
|
`,
|
|
);
|
|
}
|
|
|
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.query(`
|
|
drop table asset_shared_album;
|
|
drop table user_shared_album;
|
|
drop table shared_albums;
|
|
`);
|
|
}
|
|
}
|