main
py 54 lines 2.07 KB
Raw
1 """Add enabled dashboards tables
2
3 Revision ID: 8e6302c4877d
4 Revises: 85ea2970828c
5 Create Date: 2026-03-17 14:44:04.797718
6
7 """
8 from typing import Sequence
9 from typing import Union
10
11 import sqlalchemy as sa
12
13 from alembic import op
14
15 # revision identifiers, used by Alembic.
16 revision: str = "8e6302c4877d"
17 down_revision: Union[str, None] = "85ea2970828c"
18 branch_labels: Union[str, Sequence[str], None] = None
19 depends_on: Union[str, Sequence[str], None] = None
20
21
22 def upgrade() -> None:
23 # ### commands auto generated by Alembic - please adjust! ###
24 op.create_table(
25 "enabled_dashboards",
26 sa.Column("id", sa.Integer(), nullable=False),
27 sa.Column("customer_code", sa.String(length=50), nullable=False),
28 sa.Column("event_source_id", sa.Integer(), nullable=False),
29 sa.Column("library_card", sa.String(length=255), nullable=False),
30 sa.Column("template_id", sa.String(length=255), nullable=False),
31 sa.Column("display_name", sa.String(length=255), nullable=False),
32 sa.Column("created_at", sa.DateTime(), nullable=False),
33 sa.ForeignKeyConstraint(
34 ["customer_code"],
35 ["customers.customer_code"],
36 ),
37 sa.ForeignKeyConstraint(
38 ["event_source_id"],
39 ["event_sources.id"],
40 ),
41 sa.PrimaryKeyConstraint("id"),
42 sa.UniqueConstraint("customer_code", "event_source_id", "library_card", "template_id", name="uq_enabled_dashboard"),
43 )
44 op.create_index(op.f("ix_enabled_dashboards_customer_code"), "enabled_dashboards", ["customer_code"], unique=False)
45 op.create_index(op.f("ix_enabled_dashboards_event_source_id"), "enabled_dashboards", ["event_source_id"], unique=False)
46 # ### end Alembic commands ###
47
48
49 def downgrade() -> None:
50 # ### commands auto generated by Alembic - please adjust! ###
51 op.drop_index(op.f("ix_enabled_dashboards_event_source_id"), table_name="enabled_dashboards")
52 op.drop_index(op.f("ix_enabled_dashboards_customer_code"), table_name="enabled_dashboards")
53 op.drop_table("enabled_dashboards")
54 # ### end Alembic commands ###