From f568814be5e6475fd96869e7f0322e9b3163224d Mon Sep 17 00:00:00 2001 From: Vadym Samoilenko Date: Mon, 18 May 2026 09:55:36 +0100 Subject: [PATCH] feat(omg): backfill omg_entries from all projects with job_number All CC Dashboard projects that have a non-empty job_number now appear in the OMG list automatically. Existing entries are preserved (INSERT only where no entry with that job_number exists for the user). Co-Authored-By: Claude Sonnet 4.6 --- .../0012_backfill_omg_from_projects.py | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 alembic/versions/0012_backfill_omg_from_projects.py diff --git a/alembic/versions/0012_backfill_omg_from_projects.py b/alembic/versions/0012_backfill_omg_from_projects.py new file mode 100644 index 0000000..43efab0 --- /dev/null +++ b/alembic/versions/0012_backfill_omg_from_projects.py @@ -0,0 +1,39 @@ +"""Backfill omg_entries from all projects that have a job_number + +Revision ID: 0012 +Revises: 0011 +Create Date: 2026-05-18 +""" +from alembic import op + +revision = "0012" +down_revision = "0011" +branch_labels = None +depends_on = None + + +def upgrade() -> None: + op.execute( + """ + INSERT INTO omg_entries (id, user_id, name, client, job_number, notes) + SELECT + gen_random_uuid()::text, + p.user_id, + p.display_name, + p.client, + p.job_number, + '' + FROM projects p + WHERE p.job_number IS NOT NULL + AND p.job_number != '' + AND NOT EXISTS ( + SELECT 1 FROM omg_entries o + WHERE o.user_id = p.user_id + AND o.job_number = p.job_number + ) + """ + ) + + +def downgrade() -> None: + pass