gitscope
← marzneshin / master / app/db/migrations/versions/20240708_3acfdeb79b78_add_admin_services.py
https://dev.kronoz.win/r/marzneshin.git
app/db/migrations/versions/20240708_3acfdeb79b78_add_admin_services.py · Python
Blame Raw
 1"""Add services and subscription url prefix to admins
 2
 3Revision ID: 3acfdeb79b78
 4Revises: a83e4dd22672
 5Create Date: 2024-07-08 12:50:12.570534
 6
 7"""
 8
 9import sqlalchemy as sa
10from alembic import op
11
12# revision identifiers, used by Alembic.
13revision = "3acfdeb79b78"
14down_revision = "a83e4dd22672"
15branch_labels = None
16depends_on = None
17
18
19def upgrade() -> None:
20    # ### commands auto generated by Alembic - please adjust! ###
21    op.create_table(
22        "admins_services",
23        sa.Column("admin_id", sa.Integer(), nullable=False),
24        sa.Column("service_id", sa.Integer(), nullable=False),
25        sa.ForeignKeyConstraint(
26            ["admin_id"],
27            ["admins.id"],
28        ),
29        sa.ForeignKeyConstraint(
30            ["service_id"],
31            ["services.id"],
32        ),
33        sa.PrimaryKeyConstraint("admin_id", "service_id"),
34    )
35    op.add_column(
36        "admins",
37        sa.Column(
38            "all_services_access",
39            sa.Boolean(),
40            server_default=sa.sql.false(),
41            nullable=False,
42        ),
43    )
44    op.add_column(
45        "admins",
46        sa.Column(
47            "modify_users_access",
48            sa.Boolean(),
49            server_default=sa.sql.true(),
50            nullable=False,
51        ),
52    )
53    op.add_column(
54        "admins",
55        sa.Column(
56            "enabled",
57            sa.Boolean(),
58            server_default=sa.sql.true(),
59            nullable=False,
60        ),
61    )
62    op.add_column(
63        "admins",
64        sa.Column(
65            "subscription_url_prefix",
66            sa.String(length=256),
67            nullable=False,
68            server_default="",
69        ),
70    )
71
72
73def downgrade() -> None:
74    # ### commands auto generated by Alembic - please adjust! ###
75    op.drop_column("admins", "subscription_url_prefix")
76    op.drop_column("admins", "all_services_access")
77    op.drop_column("admins", "enabled")
78    op.drop_column("admins", "modify_users_access")
79    op.drop_table("admins_services")
80    # ### end Alembic commands ###