Skip to content

Commit 9b24815

Browse files
add db migration:
1 parent 10988aa commit 9b24815

File tree

1 file changed

+140
-0
lines changed

1 file changed

+140
-0
lines changed
Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
"""add license db tables
2+
3+
Revision ID: 4901050f94f4
4+
Revises: e05bdc5b3c7b
5+
Create Date: 2024-12-04 10:54:13.440309+00:00
6+
7+
"""
8+
import sqlalchemy as sa
9+
from alembic import op
10+
11+
# revision identifiers, used by Alembic.
12+
revision = "4901050f94f4"
13+
down_revision = "e05bdc5b3c7b"
14+
branch_labels = None
15+
depends_on = None
16+
17+
18+
def upgrade():
19+
# ### commands auto generated by Alembic - please adjust! ###
20+
op.create_table(
21+
"resource_tracker_license_purchases",
22+
sa.Column("license_purchase_id", sa.String(), nullable=False),
23+
sa.Column("product_name", sa.String(), nullable=False),
24+
sa.Column("license_good_id", sa.BigInteger(), nullable=False),
25+
sa.Column("wallet_id", sa.BigInteger(), nullable=False),
26+
sa.Column(
27+
"start_at",
28+
sa.DateTime(timezone=True),
29+
server_default=sa.text("now()"),
30+
nullable=False,
31+
),
32+
sa.Column(
33+
"expire_at",
34+
sa.DateTime(timezone=True),
35+
server_default=sa.text("now()"),
36+
nullable=False,
37+
),
38+
sa.Column("purchased_by_user", sa.BigInteger(), nullable=False),
39+
sa.Column(
40+
"purchased_at",
41+
sa.DateTime(timezone=True),
42+
server_default=sa.text("now()"),
43+
nullable=False,
44+
),
45+
sa.Column(
46+
"modified",
47+
sa.DateTime(timezone=True),
48+
server_default=sa.text("now()"),
49+
nullable=False,
50+
),
51+
sa.PrimaryKeyConstraint("license_purchase_id"),
52+
)
53+
op.create_table(
54+
"resource_tracker_license_checkouts",
55+
sa.Column("license_checkout_id", sa.String(), nullable=False),
56+
sa.Column("license_package_id", sa.String(), nullable=True),
57+
sa.Column("wallet_id", sa.BigInteger(), nullable=False),
58+
sa.Column("user_id", sa.BigInteger(), nullable=False),
59+
sa.Column("user_email", sa.String(), nullable=True),
60+
sa.Column("product_name", sa.String(), nullable=False),
61+
sa.Column("service_run_id", sa.String(), nullable=True),
62+
sa.Column("started_at", sa.DateTime(timezone=True), nullable=False),
63+
sa.Column("stopped_at", sa.DateTime(timezone=True), nullable=True),
64+
sa.Column("num_of_seats", sa.SmallInteger(), nullable=False),
65+
sa.Column(
66+
"modified",
67+
sa.DateTime(timezone=True),
68+
server_default=sa.text("now()"),
69+
nullable=False,
70+
),
71+
sa.ForeignKeyConstraint(
72+
["product_name", "service_run_id"],
73+
[
74+
"resource_tracker_service_runs.product_name",
75+
"resource_tracker_service_runs.service_run_id",
76+
],
77+
name="resource_tracker_license_checkouts_service_run_id_fkey",
78+
onupdate="CASCADE",
79+
ondelete="RESTRICT",
80+
),
81+
sa.PrimaryKeyConstraint("license_checkout_id"),
82+
)
83+
op.create_index(
84+
op.f("ix_resource_tracker_license_checkouts_wallet_id"),
85+
"resource_tracker_license_checkouts",
86+
["wallet_id"],
87+
unique=False,
88+
)
89+
op.create_table(
90+
"license_goods",
91+
sa.Column("license_good_id", sa.String(), nullable=False),
92+
sa.Column("name", sa.String(), nullable=False),
93+
sa.Column(
94+
"license_resource_type",
95+
sa.Enum("VIP_MODEL", name="licenseresourcetype"),
96+
nullable=False,
97+
),
98+
sa.Column("pricing_plan_id", sa.BigInteger(), nullable=False),
99+
sa.Column("product_name", sa.String(), nullable=False),
100+
sa.Column(
101+
"created",
102+
sa.DateTime(timezone=True),
103+
server_default=sa.text("now()"),
104+
nullable=False,
105+
),
106+
sa.Column(
107+
"modified",
108+
sa.DateTime(timezone=True),
109+
server_default=sa.text("now()"),
110+
nullable=False,
111+
),
112+
sa.ForeignKeyConstraint(
113+
["pricing_plan_id"],
114+
["resource_tracker_pricing_plans.pricing_plan_id"],
115+
name="fk_resource_tracker_license_packages_pricing_plan_id",
116+
onupdate="CASCADE",
117+
ondelete="RESTRICT",
118+
),
119+
sa.ForeignKeyConstraint(
120+
["product_name"],
121+
["products.name"],
122+
name="fk_resource_tracker_license_packages_product_name",
123+
onupdate="CASCADE",
124+
ondelete="CASCADE",
125+
),
126+
sa.PrimaryKeyConstraint("license_good_id"),
127+
)
128+
# ### end Alembic commands ###
129+
130+
131+
def downgrade():
132+
# ### commands auto generated by Alembic - please adjust! ###
133+
op.drop_table("license_goods")
134+
op.drop_index(
135+
op.f("ix_resource_tracker_license_checkouts_wallet_id"),
136+
table_name="resource_tracker_license_checkouts",
137+
)
138+
op.drop_table("resource_tracker_license_checkouts")
139+
op.drop_table("resource_tracker_license_purchases")
140+
# ### end Alembic commands ###

0 commit comments

Comments
 (0)