Skip to content

Commit 1e70212

Browse files
fix
1 parent d6ae5e6 commit 1e70212

File tree

3 files changed

+89
-36
lines changed

3 files changed

+89
-36
lines changed
Lines changed: 66 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
"""preparation for osparc.io migration
22
3-
Revision ID: e98c45ff314f
3+
Revision ID: 43d7e61eedf4
44
Revises: b39f2dc87ccd
5-
Create Date: 2025-05-19 11:55:04.513120+00:00
5+
Create Date: 2025-05-19 12:27:17.367971+00:00
66
77
"""
88

@@ -11,7 +11,7 @@
1111
from sqlalchemy.dialects import postgresql
1212

1313
# revision identifiers, used by Alembic.
14-
revision = "e98c45ff314f"
14+
revision = "43d7e61eedf4"
1515
down_revision = "b39f2dc87ccd"
1616
branch_labels = None
1717
depends_on = None
@@ -20,7 +20,7 @@
2020
def upgrade():
2121
# ### commands auto generated by Alembic - please adjust! ###
2222
op.create_table(
23-
"resource_tracker_service_runs__osparc_io_history_202508",
23+
"zzz_resource_tracker_service_runs__osparc_io_archive_202508",
2424
sa.Column("product_name", sa.String(), nullable=False),
2525
sa.Column("service_run_id", sa.String(), nullable=False),
2626
sa.Column("wallet_id", sa.BigInteger(), nullable=True),
@@ -84,21 +84,25 @@ def upgrade():
8484
sa.PrimaryKeyConstraint("product_name", "service_run_id"),
8585
)
8686
op.create_index(
87-
op.f("ix_resource_tracker_service_runs__osparc_io_history_202508_wallet_id"),
88-
"resource_tracker_service_runs__osparc_io_history_202508",
89-
["wallet_id"],
87+
op.f(
88+
"ix_zzz_resource_tracker_service_runs__osparc_io_archive_202508_started_at"
89+
),
90+
"zzz_resource_tracker_service_runs__osparc_io_archive_202508",
91+
["started_at"],
9092
unique=False,
9193
)
9294
op.create_index(
93-
op.f("ix_resource_tracker_service_runs__osparc_io_history_202508_user_id"),
94-
"resource_tracker_service_runs__osparc_io_history_202508",
95-
["user_id"],
95+
op.f(
96+
"ix_zzz_resource_tracker_service_runs__osparc_io_archive_202508_wallet_id"
97+
),
98+
"zzz_resource_tracker_service_runs__osparc_io_archive_202508",
99+
["wallet_id"],
96100
unique=False,
97101
)
98102
op.create_index(
99-
op.f("ix_resource_tracker_service_runs__osparc_io_history_202508_started_at"),
100-
"resource_tracker_service_runs__osparc_io_history_202508",
101-
["started_at"],
103+
op.f("ix_zzz_resource_tracker_service_runs__osparc_io_archive_202508_user_id"),
104+
"zzz_resource_tracker_service_runs__osparc_io_archive_202508",
105+
["user_id"],
102106
unique=False,
103107
)
104108
op.drop_index("ix_projects_comments_project_uuid", table_name="projects_comments")
@@ -133,20 +137,20 @@ def upgrade():
133137
ondelete="CASCADE",
134138
)
135139
op.create_foreign_key(
136-
"fk_payments_methods_to_user_id",
140+
"fk_payments_methods_to_wallet_id",
137141
"payments_methods",
138-
"users",
139-
["user_id"],
140-
["id"],
142+
"wallets",
143+
["wallet_id"],
144+
["wallet_id"],
141145
onupdate="CASCADE",
142146
ondelete="CASCADE",
143147
)
144148
op.create_foreign_key(
145-
"fk_payments_methods_to_wallet_id",
149+
"fk_payments_methods_to_user_id",
146150
"payments_methods",
147-
"wallets",
148-
["wallet_id"],
149-
["wallet_id"],
151+
"users",
152+
["user_id"],
153+
["id"],
150154
onupdate="CASCADE",
151155
ondelete="CASCADE",
152156
)
@@ -177,6 +181,24 @@ def upgrade():
177181
onupdate="CASCADE",
178182
ondelete="CASCADE",
179183
)
184+
op.create_foreign_key(
185+
"fk_service_runs_to_user_id",
186+
"resource_tracker_service_runs",
187+
"users",
188+
["user_id"],
189+
["id"],
190+
onupdate="CASCADE",
191+
ondelete="CASCADE",
192+
)
193+
op.create_foreign_key(
194+
"fk_service_runs_to_product_name",
195+
"resource_tracker_service_runs",
196+
"products",
197+
["product_name"],
198+
["name"],
199+
onupdate="CASCADE",
200+
ondelete="CASCADE",
201+
)
180202
op.drop_constraint("tokens_user_id_fkey", "tokens", type_="foreignkey")
181203
op.create_foreign_key(
182204
None,
@@ -194,6 +216,16 @@ def downgrade():
194216
# ### commands auto generated by Alembic - please adjust! ###
195217
op.drop_constraint(None, "tokens", type_="foreignkey")
196218
op.create_foreign_key("tokens_user_id_fkey", "tokens", "users", ["user_id"], ["id"])
219+
op.drop_constraint(
220+
"fk_service_runs_to_product_name",
221+
"resource_tracker_service_runs",
222+
type_="foreignkey",
223+
)
224+
op.drop_constraint(
225+
"fk_service_runs_to_user_id",
226+
"resource_tracker_service_runs",
227+
type_="foreignkey",
228+
)
197229
op.drop_constraint(
198230
"fk_payments_transactions_to_products_name",
199231
"payments_transactions",
@@ -210,10 +242,10 @@ def downgrade():
210242
type_="foreignkey",
211243
)
212244
op.drop_constraint(
213-
"fk_payments_methods_to_wallet_id", "payments_methods", type_="foreignkey"
245+
"fk_payments_methods_to_user_id", "payments_methods", type_="foreignkey"
214246
)
215247
op.drop_constraint(
216-
"fk_payments_methods_to_user_id", "payments_methods", type_="foreignkey"
248+
"fk_payments_methods_to_wallet_id", "payments_methods", type_="foreignkey"
217249
)
218250
op.drop_constraint(
219251
"fk_payments_autorecharge_id_wallets",
@@ -283,16 +315,20 @@ def downgrade():
283315
unique=False,
284316
)
285317
op.drop_index(
286-
op.f("ix_resource_tracker_service_runs__osparc_io_history_202508_started_at"),
287-
table_name="resource_tracker_service_runs__osparc_io_history_202508",
318+
op.f("ix_zzz_resource_tracker_service_runs__osparc_io_archive_202508_user_id"),
319+
table_name="zzz_resource_tracker_service_runs__osparc_io_archive_202508",
288320
)
289321
op.drop_index(
290-
op.f("ix_resource_tracker_service_runs__osparc_io_history_202508_user_id"),
291-
table_name="resource_tracker_service_runs__osparc_io_history_202508",
322+
op.f(
323+
"ix_zzz_resource_tracker_service_runs__osparc_io_archive_202508_wallet_id"
324+
),
325+
table_name="zzz_resource_tracker_service_runs__osparc_io_archive_202508",
292326
)
293327
op.drop_index(
294-
op.f("ix_resource_tracker_service_runs__osparc_io_history_202508_wallet_id"),
295-
table_name="resource_tracker_service_runs__osparc_io_history_202508",
328+
op.f(
329+
"ix_zzz_resource_tracker_service_runs__osparc_io_archive_202508_started_at"
330+
),
331+
table_name="zzz_resource_tracker_service_runs__osparc_io_archive_202508",
296332
)
297-
op.drop_table("resource_tracker_service_runs__osparc_io_history_202508")
333+
op.drop_table("zzz_resource_tracker_service_runs__osparc_io_archive_202508")
298334
# ### end Alembic commands ###

packages/postgres-database/src/simcore_postgres_database/models/resource_tracker_service_runs.py

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1-
""" resource_tracker_service_runs table
2-
"""
1+
"""resource_tracker_service_runs table"""
2+
33
import enum
44

55
import sqlalchemy as sa
66
from sqlalchemy.dialects.postgresql import JSONB
77

8-
from ._common import NUMERIC_KWARGS, column_modified_datetime
8+
from ._common import NUMERIC_KWARGS, RefActions, column_modified_datetime
99
from .base import metadata
10+
from .users import users
1011

1112

1213
class ResourceTrackerServiceType(str, enum.Enum):
@@ -25,7 +26,17 @@ class ResourceTrackerServiceRunStatus(str, enum.Enum):
2526
metadata,
2627
# Primary keys
2728
sa.Column(
28-
"product_name", sa.String, nullable=False, doc="Product name", primary_key=True
29+
"product_name",
30+
sa.String,
31+
sa.ForeignKey(
32+
"products.name",
33+
onupdate=RefActions.CASCADE,
34+
ondelete=RefActions.CASCADE,
35+
name="fk_service_runs_to_product_name",
36+
),
37+
nullable=False,
38+
doc="Product name",
39+
primary_key=True,
2940
),
3041
sa.Column(
3142
"service_run_id",
@@ -84,6 +95,12 @@ class ResourceTrackerServiceRunStatus(str, enum.Enum):
8495
sa.Column(
8596
"user_id",
8697
sa.BigInteger,
98+
sa.ForeignKey(
99+
users.c.id,
100+
onupdate=RefActions.CASCADE,
101+
ondelete=RefActions.CASCADE,
102+
name="fk_service_runs_to_user_id",
103+
),
87104
nullable=False,
88105
doc="We want to store the user id for tracking/billing purposes and be sure it stays there even when the user is deleted (that's also reason why we do not introduce foreign key)",
89106
index=True,

packages/postgres-database/src/simcore_postgres_database/models/resource_tracker_service_runs__osparc_io_history_202508.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ class ResourceTrackerServiceRunStatusOsparcIoHistory(str, enum.Enum):
2020
ERROR = "ERROR"
2121

2222

23-
resource_tracker_service_runs__osparc_io_history_202508 = sa.Table(
24-
"resource_tracker_service_runs__osparc_io_history_202508",
23+
zzz_resource_tracker_service_runs__osparc_io_archive_202508 = sa.Table(
24+
"zzz_resource_tracker_service_runs__osparc_io_archive_202508",
2525
metadata,
2626
# Primary keys
2727
sa.Column(

0 commit comments

Comments
 (0)