From fd823e2d75264ababf7e5c880abcf0c95110667a Mon Sep 17 00:00:00 2001 From: Hammer Date: Fri, 30 Jan 2026 04:59:17 +0000 Subject: [PATCH] Add SQL init fallback for todos table creation --- backend/Dockerfile | 4 +++- backend/init-todos.sql | 21 +++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 backend/init-todos.sql diff --git a/backend/Dockerfile b/backend/Dockerfile index 1e7cf19..cd9cc50 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -10,4 +10,6 @@ COPY . . # Generate migrations and run EXPOSE 3100 -CMD ["sh", "-c", "echo 'Running db:push...' && yes | bun run db:push 2>&1 && echo 'db:push done' && bun run start"] +RUN apt-get update && apt-get install -y postgresql-client && rm -rf /var/lib/apt/lists/* +COPY init-todos.sql /app/init-todos.sql +CMD ["sh", "-c", "echo 'Running init SQL...' && psql \"$DATABASE_URL\" -f /app/init-todos.sql 2>&1 && echo 'Init SQL done' && echo 'Running db:push...' && yes | bun run db:push 2>&1; echo 'db:push exit code:' $? && echo 'Starting server...' && bun run start"] diff --git a/backend/init-todos.sql b/backend/init-todos.sql new file mode 100644 index 0000000..23c9e51 --- /dev/null +++ b/backend/init-todos.sql @@ -0,0 +1,21 @@ +-- Create todo_priority enum if not exists +DO $$ BEGIN + CREATE TYPE todo_priority AS ENUM ('high', 'medium', 'low', 'none'); +EXCEPTION WHEN duplicate_object THEN null; +END $$; + +-- Create todos table if not exists +CREATE TABLE IF NOT EXISTS todos ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + user_id TEXT NOT NULL, + title TEXT NOT NULL, + description TEXT, + is_completed BOOLEAN NOT NULL DEFAULT false, + priority todo_priority NOT NULL DEFAULT 'none', + category TEXT, + due_date TIMESTAMPTZ, + completed_at TIMESTAMPTZ, + sort_order INTEGER NOT NULL DEFAULT 0, + created_at TIMESTAMPTZ NOT NULL DEFAULT now(), + updated_at TIMESTAMPTZ NOT NULL DEFAULT now() +);