Skip to content

Commit a007d1d

Browse files
committed
Update for #5001
1 parent 9f4b8d5 commit a007d1d

File tree

2 files changed

+64
-8
lines changed

2 files changed

+64
-8
lines changed

warehouse/admin/squats.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
# See the License for the specific language governing permissions and
1111
# limitations under the License.
1212

13-
from sqlalchemy import Boolean, Column, DateTime, ForeignKey, Integer, Text
13+
from sqlalchemy import Boolean, Column, DateTime, ForeignKey, Integer
1414
from sqlalchemy import orm, sql
1515

1616
from warehouse import db
@@ -24,12 +24,12 @@ class Squat(db.ModelBase):
2424
created = Column(
2525
DateTime(timezone=False), nullable=False, server_default=sql.func.now()
2626
)
27-
squatter_name = Column(
28-
Text, ForeignKey("packages.name", onupdate="CASCADE", ondelete="CASCADE")
27+
squatter_id = Column(
28+
ForeignKey("packages.id", onupdate="CASCADE", ondelete="CASCADE")
2929
)
30-
squattee_name = Column(
31-
Text, ForeignKey("packages.name", onupdate="CASCADE", ondelete="CASCADE")
30+
squattee_id = Column(
31+
ForeignKey("packages.id", onupdate="CASCADE", ondelete="CASCADE")
3232
)
33-
squatter = orm.relationship("Project", foreign_keys=[squatter_name], lazy=False)
34-
squattee = orm.relationship("Project", foreign_keys=[squattee_name], lazy=False)
33+
squatter = orm.relationship("Project", foreign_keys=[squatter_id], lazy=False)
34+
squattee = orm.relationship("Project", foreign_keys=[squattee_id], lazy=False)
3535
reviewed = Column(Boolean, nullable=False, server_default=sql.false())

warehouse/migrations/versions/ee5b8f66a223_migrate_projects_and_releases_to_.py

Lines changed: 57 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
from sqlalchemy.dialects import postgresql
2323

2424
revision = "ee5b8f66a223"
25-
down_revision = "e82c3a017d60"
25+
down_revision = "eeb23d9b4d00"
2626

2727

2828
def upgrade():
@@ -63,6 +63,14 @@ def upgrade():
6363
"release_classifiers",
6464
sa.Column("release_id", postgresql.UUID(as_uuid=True), nullable=True),
6565
)
66+
op.add_column(
67+
"warehouse_admin_squat",
68+
sa.Column("squattee_id", postgresql.UUID(as_uuid=True), nullable=True),
69+
)
70+
op.add_column(
71+
"warehouse_admin_squat",
72+
sa.Column("squatter_id", postgresql.UUID(as_uuid=True), nullable=True),
73+
)
6674

6775
op.execute(
6876
""" UPDATE releases
@@ -112,11 +120,29 @@ def upgrade():
112120
AND release_classifiers.version = releases.version
113121
"""
114122
)
123+
op.execute(
124+
""" UPDATE warehouse_admin_squat
125+
SET squattee_id = packages.id
126+
FROM packages
127+
WHERE
128+
packages.name = warehouse_admin_squat.squattee_name
129+
"""
130+
)
131+
op.execute(
132+
""" UPDATE warehouse_admin_squat
133+
SET squatter_id = packages.id
134+
FROM packages
135+
WHERE
136+
packages.name = warehouse_admin_squat.squatter_name
137+
"""
138+
)
115139

116140
op.alter_column("releases", "project_id", nullable=False)
117141
op.alter_column("release_files", "release_id", nullable=False)
118142
op.alter_column("release_dependencies", "release_id", nullable=False)
119143
op.alter_column("release_classifiers", "release_id", nullable=False)
144+
op.alter_column("warehouse_admin_squat", "squattee_id", nullable=False)
145+
op.alter_column("warehouse_admin_squat", "squatter_id", nullable=False)
120146

121147
op.drop_constraint(
122148
"release_classifiers_name_fkey", "release_classifiers", type_="foreignkey"
@@ -126,6 +152,16 @@ def upgrade():
126152
)
127153
op.drop_constraint("release_files_name_fkey", "release_files", type_="foreignkey")
128154
op.drop_constraint("releases_name_fkey", "releases", type_="foreignkey")
155+
op.drop_constraint(
156+
"warehouse_admin_squat_squattee_name_fkey",
157+
"warehouse_admin_squat",
158+
type_="foreignkey",
159+
)
160+
op.drop_constraint(
161+
"warehouse_admin_squat_squatter_name_fkey",
162+
"warehouse_admin_squat",
163+
type_="foreignkey",
164+
)
129165

130166
op.execute("ALTER TABLE packages DROP CONSTRAINT packages_pkey CASCADE")
131167
op.create_primary_key(None, "packages", ["id"])
@@ -183,6 +219,24 @@ def upgrade():
183219
onupdate="CASCADE",
184220
ondelete="CASCADE",
185221
)
222+
op.create_foreign_key(
223+
None,
224+
"warehouse_admin_squat",
225+
"packages",
226+
["squattee_id"],
227+
["id"],
228+
onupdate="CASCADE",
229+
ondelete="CASCADE",
230+
)
231+
op.create_foreign_key(
232+
None,
233+
"warehouse_admin_squat",
234+
"packages",
235+
["squatter_id"],
236+
["id"],
237+
onupdate="CASCADE",
238+
ondelete="CASCADE",
239+
)
186240

187241
op.drop_index("rel_dep_name_version_kind_idx", table_name="release_dependencies")
188242
op.create_index(
@@ -226,6 +280,8 @@ def upgrade():
226280
op.drop_column("release_classifiers", "version")
227281
op.drop_column("release_dependencies", "name")
228282
op.drop_column("release_dependencies", "version")
283+
op.drop_column("warehouse_admin_squat", "squattee_name")
284+
op.drop_column("warehouse_admin_squat", "squatter_name")
229285

230286
op.execute(
231287
"""CREATE OR REPLACE FUNCTION update_release_files_requires_python()

0 commit comments

Comments
 (0)