feat: dockerfile (node runtime), startup migration, README, runtime env config
This commit is contained in:
23
server/utils/schema.ts
Normal file
23
server/utils/schema.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
// Canonical schema for the Online Inbox. Single source of truth, applied idempotently by
|
||||
// the Nitro startup plugin (server/plugins/migrate.ts) and the CLI (server/db/migrate.ts).
|
||||
export const INIT_SQL = `
|
||||
create table if not exists lists (
|
||||
id text primary key, -- GUID supplied by the desktop, reused verbatim
|
||||
name text not null,
|
||||
updated_at timestamptz not null default now()
|
||||
);
|
||||
|
||||
create table if not exists tasks (
|
||||
id text primary key, -- GUID; shared id space (web + desktop)
|
||||
list_id text not null references lists(id) on delete cascade,
|
||||
title text not null,
|
||||
description text,
|
||||
source text not null, -- 'web' | 'desktop'
|
||||
consumed boolean not null default false, -- web->desktop handoff flag
|
||||
created_at timestamptz not null default now(),
|
||||
updated_at timestamptz not null default now()
|
||||
);
|
||||
|
||||
create index if not exists idx_tasks_list_id on tasks(list_id);
|
||||
create index if not exists idx_tasks_unconsumed on tasks(consumed) where consumed = false;
|
||||
`;
|
||||
Reference in New Issue
Block a user