Skip to content

Commit 4c566ad

Browse files
update script
1 parent 05f619b commit 4c566ad

File tree

1 file changed

+31
-6
lines changed

1 file changed

+31
-6
lines changed

packages/postgres-database/src/simcore_postgres_database/migration/versions/028ada3e3ec9_move_projects_workbench.py renamed to packages/postgres-database/src/simcore_postgres_database/migration/versions/1d74a6de5e36_move_projects_workbench.py

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,27 @@
11
"""Move projects workbench
22
3-
Revision ID: 028ada3e3ec9
3+
Revision ID: 1d74a6de5e36
44
Revises: 307017ee1a49
5-
Create Date: 2025-01-07 10:25:54.137095+00:00
5+
Create Date: 2025-01-07 11:54:32.232909+00:00
66
77
"""
88
import sqlalchemy as sa
99
from alembic import op
1010
from sqlalchemy.dialects import postgresql
1111

1212
# revision identifiers, used by Alembic.
13-
revision = "028ada3e3ec9"
13+
revision = "1d74a6de5e36"
1414
down_revision = "307017ee1a49"
1515
branch_labels = None
1616
depends_on = None
1717

1818

1919
def upgrade():
2020
# ### commands auto generated by Alembic - please adjust! ###
21-
op.add_column("projects_nodes", sa.Column("key", sa.String(), nullable=False))
22-
op.add_column("projects_nodes", sa.Column("version", sa.String(), nullable=False))
23-
op.add_column("projects_nodes", sa.Column("label", sa.String(), nullable=False))
21+
op.add_column("projects_nodes", sa.Column("key", sa.String(), nullable=True))
22+
op.add_column("projects_nodes", sa.Column("version", sa.String(), nullable=True))
23+
op.add_column("projects_nodes", sa.Column("label", sa.String(), nullable=True))
24+
2425
op.add_column("projects_nodes", sa.Column("progress", sa.Numeric(), nullable=True))
2526
op.add_column("projects_nodes", sa.Column("thumbnail", sa.String(), nullable=True))
2627
op.add_column(
@@ -38,6 +39,30 @@ def upgrade():
3839
)
3940
# ### end Alembic commands ###
4041

42+
op.execute(
43+
"""
44+
UPDATE projects_nodes
45+
SET key = subquery.key,
46+
version = subquery.version,
47+
label = subquery.label
48+
FROM (
49+
SELECT
50+
projects.uuid AS project_id,
51+
js.key AS node_id,
52+
js.value::jsonb ->> 'key' AS key,
53+
js.value::jsonb ->> 'label' AS label,
54+
js.value::jsonb ->> 'version' AS version
55+
FROM projects,
56+
json_each(projects.workbench) AS js
57+
) AS subquery
58+
WHERE projects_nodes.project_uuid = subquery.project_id
59+
AND projects_nodes.node_id = subquery.node_id;
60+
"""
61+
)
62+
op.alter_column("projects_nodes", "key", nullable=False)
63+
op.alter_column("projects_nodes", "version", nullable=False)
64+
op.alter_column("projects_nodes", "label", nullable=False)
65+
4166

4267
def downgrade():
4368
# ### commands auto generated by Alembic - please adjust! ###

0 commit comments

Comments
 (0)