gabriel / musehub public
0018_collaborators_handle.py python
133 lines 3.4 KB
Raw
sha256:a10adeeb7a0169cb9900f9806ed7a973047258abb6283724fe55e8eb68ff3f0a init: musehub initial commit Human 71 days ago
1 """Rename user_id → identity_handle (String(64)) in collaborators and stash tables.
2
3 Revision ID: 0018
4 Revises: 0017
5 """
6 from __future__ import annotations
7
8 import sqlalchemy as sa
9 from alembic import op
10
11 revision = "0018"
12 down_revision = "0017"
13 branch_labels = None
14 depends_on = None
15
16
17 def upgrade() -> None:
18 # --- musehub_collaborators ---
19
20 # Drop old unique constraint and indexes before altering columns
21 op.drop_constraint(
22 "uq_musehub_collaborators_repo_user",
23 "musehub_collaborators",
24 type_="unique",
25 )
26 op.drop_index("ix_musehub_collaborators_user_id", table_name="musehub_collaborators")
27
28 # Rename user_id → identity_handle, widen to String(64)
29 op.alter_column(
30 "musehub_collaborators",
31 "user_id",
32 new_column_name="identity_handle",
33 existing_type=sa.String(36),
34 type_=sa.String(64),
35 existing_nullable=False,
36 )
37
38 # Rename invited_by → invited_by_handle, widen to String(64)
39 op.alter_column(
40 "musehub_collaborators",
41 "invited_by",
42 new_column_name="invited_by_handle",
43 existing_type=sa.String(36),
44 type_=sa.String(64),
45 existing_nullable=True,
46 )
47
48 # Recreate constraint and index under new names/columns
49 op.create_unique_constraint(
50 "uq_musehub_collaborators_repo_identity",
51 "musehub_collaborators",
52 ["repo_id", "identity_handle"],
53 )
54 op.create_index(
55 "ix_musehub_collaborators_identity_handle",
56 "musehub_collaborators",
57 ["identity_handle"],
58 )
59
60 # --- musehub_stash ---
61
62 op.drop_index("ix_musehub_stash_user_id", table_name="musehub_stash")
63
64 # Rename user_id → identity_handle, widen to String(64)
65 op.alter_column(
66 "musehub_stash",
67 "user_id",
68 new_column_name="identity_handle",
69 existing_type=sa.String(36),
70 type_=sa.String(64),
71 existing_nullable=False,
72 )
73
74 op.create_index(
75 "ix_musehub_stash_identity_handle",
76 "musehub_stash",
77 ["identity_handle"],
78 )
79
80
81 def downgrade() -> None:
82 # --- musehub_stash ---
83
84 op.drop_index("ix_musehub_stash_identity_handle", table_name="musehub_stash")
85
86 op.alter_column(
87 "musehub_stash",
88 "identity_handle",
89 new_column_name="user_id",
90 existing_type=sa.String(64),
91 type_=sa.String(36),
92 existing_nullable=False,
93 )
94
95 op.create_index("ix_musehub_stash_user_id", "musehub_stash", ["user_id"])
96
97 # --- musehub_collaborators ---
98
99 op.drop_index(
100 "ix_musehub_collaborators_identity_handle", table_name="musehub_collaborators"
101 )
102 op.drop_constraint(
103 "uq_musehub_collaborators_repo_identity",
104 "musehub_collaborators",
105 type_="unique",
106 )
107
108 op.alter_column(
109 "musehub_collaborators",
110 "invited_by_handle",
111 new_column_name="invited_by",
112 existing_type=sa.String(64),
113 type_=sa.String(36),
114 existing_nullable=True,
115 )
116
117 op.alter_column(
118 "musehub_collaborators",
119 "identity_handle",
120 new_column_name="user_id",
121 existing_type=sa.String(64),
122 type_=sa.String(36),
123 existing_nullable=False,
124 )
125
126 op.create_index(
127 "ix_musehub_collaborators_user_id", "musehub_collaborators", ["user_id"]
128 )
129 op.create_unique_constraint(
130 "uq_musehub_collaborators_repo_user",
131 "musehub_collaborators",
132 ["repo_id", "user_id"],
133 )
File History 1 commit
sha256:a10adeeb7a0169cb9900f9806ed7a973047258abb6283724fe55e8eb68ff3f0a init: musehub initial commit Human 71 days ago