Skip to content

Commit 6ccdaf4

Browse files
committed
fix: use drop and create for increased stability
1 parent 7fd66ce commit 6ccdaf4

File tree

1 file changed

+29
-4
lines changed

1 file changed

+29
-4
lines changed

tutoraspects/templates/aspects/apps/aspects/migrations/alembic/versions/0014_add_course_names_fields.py

+29-4
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,23 @@
1111

1212

1313
def upgrade():
14+
# We include these drop statements here because "CREATE OR REPLACE DICTIONARY"
15+
# currently throws a file rename error and you can't drop a dictionary with a
16+
# table referring to it.
1417
op.execute(
1518
"""
16-
CREATE OR REPLACE DICTIONARY {{ ASPECTS_EVENT_SINK_DATABASE }}.course_names_dict (
19+
DROP TABLE IF EXISTS {{ ASPECTS_EVENT_SINK_DATABASE }}.course_names;
20+
"""
21+
)
22+
op.execute(
23+
"""
24+
DROP DICTIONARY IF EXISTS {{ ASPECTS_EVENT_SINK_DATABASE }}.course_names_dict;
25+
"""
26+
)
27+
28+
op.execute(
29+
"""
30+
CREATE DICTIONARY {{ ASPECTS_EVENT_SINK_DATABASE }}.course_names_dict (
1731
course_key String,
1832
course_name String,
1933
course_run String,
@@ -47,7 +61,7 @@ def upgrade():
4761
)
4862
op.execute(
4963
"""
50-
CREATE OR REPLACE TABLE {{ ASPECTS_EVENT_SINK_DATABASE }}.course_names
64+
CREATE TABLE {{ ASPECTS_EVENT_SINK_DATABASE }}.course_names
5165
(
5266
course_key String,
5367
course_name String,
@@ -61,7 +75,18 @@ def upgrade():
6175
def downgrade():
6276
op.execute(
6377
"""
64-
CREATE OR REPLACE DICTIONARY {{ ASPECTS_EVENT_SINK_DATABASE }}.course_names_dict (
78+
DROP TABLE IF EXISTS {{ ASPECTS_EVENT_SINK_DATABASE }}.course_names;
79+
"""
80+
)
81+
op.execute(
82+
"""
83+
DROP DICTIONARY IF EXISTS {{ ASPECTS_EVENT_SINK_DATABASE }}.course_names_dict;
84+
"""
85+
)
86+
87+
op.execute(
88+
"""
89+
CREATE DICTIONARY {{ ASPECTS_EVENT_SINK_DATABASE }}.course_names_dict (
6590
course_key String,
6691
course_name String
6792
)
@@ -91,7 +116,7 @@ def downgrade():
91116
)
92117
op.execute(
93118
"""
94-
CREATE OR REPLACE TABLE {{ ASPECTS_EVENT_SINK_DATABASE }}.course_names
119+
CREATE TABLE {{ ASPECTS_EVENT_SINK_DATABASE }}.course_names
95120
(
96121
course_key String,
97122
course_name String

0 commit comments

Comments
 (0)