From c1d1065167d87f52222c5473d33f233bce9d51f7 Mon Sep 17 00:00:00 2001 From: Anmol1696 Date: Fri, 9 Jan 2026 19:53:55 +0700 Subject: [PATCH] update docker comapose and docs for jobs --- docker-compose.jobs.yml | 4 ++-- jobs/DEVELOPMENT_JOBS.md | 44 +++++++++++++++++++++++++++++++--------- 2 files changed, 36 insertions(+), 12 deletions(-) diff --git a/docker-compose.jobs.yml b/docker-compose.jobs.yml index e5dbc2106..a5a6c553b 100644 --- a/docker-compose.jobs.yml +++ b/docker-compose.jobs.yml @@ -22,7 +22,7 @@ services: PGPORT: "5432" PGUSER: postgres PGPASSWORD: password - PGDATABASE: launchql + PGDATABASE: constructive # API meta configuration (static mode for dev) API_ENABLE_META: "true" API_EXPOSED_SCHEMAS: "metaschema_public,services_public" @@ -108,7 +108,7 @@ services: PGHOST: postgres PGPASSWORD: password PGPORT: "5432" - PGDATABASE: launchql + PGDATABASE: constructive JOBS_SCHEMA: app_jobs # Worker configuration diff --git a/jobs/DEVELOPMENT_JOBS.md b/jobs/DEVELOPMENT_JOBS.md index bde1801fc..8604f3f55 100644 --- a/jobs/DEVELOPMENT_JOBS.md +++ b/jobs/DEVELOPMENT_JOBS.md @@ -38,7 +38,7 @@ pgenv() { export PGPORT=5432 export PGUSER=postgres export PGPASSWORD=password - export PGDATABASE=launchql + export PGDATABASE=constructive echo "PostgreSQL environment variables set" } ``` @@ -62,22 +62,23 @@ From the `constructive-db/` directory (with `pgenv` applied): 1. Create the `constructive` database (if it does not already exist): ```sh - createdb launchql + createdb constructive ``` 2. Bootstrap admin users: ```sh pgpm admin-users bootstrap --yes - pgpm admin-users add --test --yes + pgpm admin-users add --test --yes ## NOTE: not to be run in production ``` 3. Deploy the main app and jobs packages into DB: ```sh - pgpm deploy --yes --database "$PGDATABASE" --package app-svc-local - pgpm deploy --yes --database "$PGDATABASE" --package metaschema - pgpm deploy --yes --database "$PGDATABASE" --package pgpm-database-jobs + pgpm deploy --yes --database "$PGDATABASE" --package constructive + pgpm deploy --yes --database "$PGDATABASE" --package constructive-services + pgpm deploy --yes --database "$PGDATABASE" --package app + pgpm deploy --yes --database "$PGDATABASE" --package pgpm-database-jobs # for sanity, not needed to run ``` At this point, the app schema and `database-jobs` should be installed and `app_jobs.*` should be available in the `constructive` database. @@ -96,7 +97,7 @@ docker compose -f docker-compose.jobs.yml up Or run detached: ```sh -docker compose -f docker-compose.jobs.yml up -d --build +docker compose -f docker-compose.jobs.yml up --build ``` This starts: @@ -152,13 +153,13 @@ With the jobs stack running, you can enqueue a test job from your host into the First, grab a real `database_id` (required by `send-email-link`, optional for `simple-email`): ```sh -DBID="$(docker exec -i postgres psql -U postgres -d launchql -Atc 'SELECT id FROM metaschema_public.database ORDER BY created_at LIMIT 1;')" +DBID="$(docker exec -i postgres psql -U postgres -d constructive -Atc 'SELECT id FROM metaschema_public.database ORDER BY created_at LIMIT 1;')" echo "$DBID" ``` ```sh docker exec -it postgres \ - psql -U postgres -d launchql -c " + psql -U postgres -d constructive -c " SELECT app_jobs.add_job( '$DBID'::uuid, 'simple-email', @@ -191,7 +192,7 @@ With `SEND_EMAIL_LINK_DRY_RUN=true` (default in `docker-compose.jobs.yml`), enqu ```sh docker exec -it postgres \ - psql -U postgres -d launchql -c " + psql -U postgres -d constructive -c " SELECT app_jobs.add_job( '$DBID'::uuid, 'send-email-link', @@ -303,3 +304,26 @@ docker compose -f docker-compose.jobs.yml -f docker-compose.jobs.override.yml up ``` To switch back to dry-run, set `SIMPLE_EMAIL_DRY_RUN=true` and `SEND_EMAIL_LINK_DRY_RUN=true` (or delete the override file) and recreate again. + + +## NOTES: +- change all launchql names to constructive, including the DB-name and more. +- run bootstrap command for test user, +- need to run some manual migrations like: +```sql + BEGIN; + UPDATE services_public.domains SET domain = 'localhost'; + UPDATE services_public.apis SET dbname = 'constructive'; + COMMIT; + +------ Some more +ALTER TABLE metaschema_public.database +ADD CONSTRAINT database_owner_id_fkey +FOREIGN KEY (owner_id) +REFERENCES constructive_public.users(id) +ON DELETE RESTRICT +ON UPDATE CASCADE; +``` + +> NOTE: please make similar changes to the devnet as well please +