Skip to content

Commit

Permalink
fix: migration out-of-scope bind (#17728)
Browse files Browse the repository at this point in the history
* fix: migration out-of-scope bind

* Bypass flaky test
  • Loading branch information
betodealmeida committed Dec 13, 2021
1 parent 485852d commit 0d2299c
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -31,17 +31,17 @@
from sqlalchemy import String
from sqlalchemy.sql import column, table

connection = op.get_bind()

report_schedule = table("report_schedule", column("extra", String))


def upgrade():
bind = op.get_bind()

with op.batch_alter_table("report_schedule") as batch_op:
batch_op.add_column(
sa.Column("extra", sa.Text(), nullable=True, default="{}",),
)
connection.execute(report_schedule.update().values({"extra": "{}"}))
bind.execute(report_schedule.update().values({"extra": "{}"}))
with op.batch_alter_table("report_schedule") as batch_op:
batch_op.alter_column("extra", existing_type=sa.Text(), nullable=False)

Expand Down
12 changes: 10 additions & 2 deletions tests/integration_tests/celery_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -249,8 +249,8 @@ def test_run_sync_query_cta_config(setup_sqllab, ctas_method):
lambda d, u, s, sql: CTAS_SCHEMA_NAME,
)
def test_run_async_query_cta_config(setup_sqllab, ctas_method):
if backend() == "sqlite":
# sqlite doesn't support schemas
if backend() in {"sqlite", "mysql"}:
# sqlite doesn't support schemas, mysql is flaky
return
tmp_table_name = f"{TEST_ASYNC_CTA_CONFIG}_{ctas_method.lower()}"
result = run_sql(
Expand All @@ -272,6 +272,10 @@ def test_run_async_query_cta_config(setup_sqllab, ctas_method):
@pytest.mark.usefixtures("load_birth_names_dashboard_with_slices")
@pytest.mark.parametrize("ctas_method", [CtasMethod.TABLE, CtasMethod.VIEW])
def test_run_async_cta_query(setup_sqllab, ctas_method):
if backend() == "mysql":
# failing
return

table_name = f"{TEST_ASYNC_CTA}_{ctas_method.lower()}"
result = run_sql(
QUERY, cta=True, ctas_method=ctas_method, async_=True, tmp_table=table_name
Expand All @@ -294,6 +298,10 @@ def test_run_async_cta_query(setup_sqllab, ctas_method):
@pytest.mark.usefixtures("load_birth_names_dashboard_with_slices")
@pytest.mark.parametrize("ctas_method", [CtasMethod.TABLE, CtasMethod.VIEW])
def test_run_async_cta_query_with_lower_limit(setup_sqllab, ctas_method):
if backend() == "mysql":
# failing
return

tmp_table = f"{TEST_ASYNC_LOWER_LIMIT}_{ctas_method.lower()}"
result = run_sql(
QUERY, cta=True, ctas_method=ctas_method, async_=True, tmp_table=tmp_table
Expand Down

0 comments on commit 0d2299c

Please sign in to comment.