diff --git a/scanner/migrations/000001_request.down.sql b/scanner/migrations/000001_request.down.sql new file mode 100644 index 00000000..3a175421 --- /dev/null +++ b/scanner/migrations/000001_request.down.sql @@ -0,0 +1,7 @@ +begin; + +drop table scanner.requests; +drop type scanner.request_kind; + +commit; + diff --git a/scanner/migrations/000001_request.up.sql b/scanner/migrations/000001_request.up.sql new file mode 100644 index 00000000..5ab9e1a8 --- /dev/null +++ b/scanner/migrations/000001_request.up.sql @@ -0,0 +1,18 @@ +begin; + +create type scanner.request_kind as enum('episode', 'movie'); + +create table scanner.requests( + pk serial primary key, + id uuid not null default gen_random_uuid() unique, + kind scanner.request_kind not null, + title text not null, + year integer, + external_id jsonb not null default '{}'::jsonb, + + created_at timestamptz not null default now()::timestamptz, + + constraint unique_kty (kind, title, year) +); + +commit; diff --git a/scanner/shell.nix b/scanner/shell.nix index 04851876..0b62e6c8 100644 --- a/scanner/shell.nix +++ b/scanner/shell.nix @@ -8,6 +8,7 @@ watchfiles langcodes psycopg + psycopg-pool ]); in pkgs.mkShell { @@ -15,5 +16,6 @@ in python ruff fastapi-cli + pgformatter ]; }