Skip to content

Commit 1df15fa

Browse files
authored
Cascade release deletion to dependencies (#3210)
1 parent d7c22dc commit 1df15fa

File tree

2 files changed

+53
-0
lines changed

2 files changed

+53
-0
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Licensed under the Apache License, Version 2.0 (the "License");
2+
# you may not use this file except in compliance with the License.
3+
# You may obtain a copy of the License at
4+
#
5+
# http://www.apache.org/licenses/LICENSE-2.0
6+
#
7+
# Unless required by applicable law or agreed to in writing, software
8+
# distributed under the License is distributed on an "AS IS" BASIS,
9+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10+
# See the License for the specific language governing permissions and
11+
# limitations under the License.
12+
"""
13+
Cascade Release deletion to Dependencies
14+
15+
Revision ID: c0302a8a0878
16+
Revises: 701c2fba1f5f
17+
Create Date: 2018-03-09 23:19:40.624047
18+
"""
19+
20+
from alembic import op
21+
22+
revision = 'c0302a8a0878'
23+
down_revision = '701c2fba1f5f'
24+
25+
26+
def upgrade():
27+
op.drop_constraint(
28+
'release_dependencies_name_fkey',
29+
'release_dependencies',
30+
type_='foreignkey'
31+
)
32+
op.create_foreign_key(
33+
'release_dependencies_name_fkey',
34+
'release_dependencies',
35+
'releases', ['name', 'version'], ['name', 'version'],
36+
onupdate='CASCADE',
37+
ondelete='CASCADE'
38+
)
39+
40+
41+
def downgrade():
42+
op.drop_constraint(
43+
'release_dependencies_name_fkey',
44+
'release_dependencies',
45+
type_='foreignkey'
46+
)
47+
op.create_foreign_key(
48+
'release_dependencies_name_fkey',
49+
'release_dependencies',
50+
'releases', ['name', 'version'], ['name', 'version'],
51+
onupdate='CASCADE'
52+
)

warehouse/packaging/models.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,7 @@ class Dependency(db.Model):
221221
["name", "version"],
222222
["releases.name", "releases.version"],
223223
onupdate="CASCADE",
224+
ondelete="CASCADE",
224225
),
225226
)
226227
__repr__ = make_repr("name", "version", "kind", "specifier")

0 commit comments

Comments
 (0)