Skip to content

Commit 37ce89e

Browse files
Migrate MYSQL provider to common.compat
1 parent 134af4f commit 37ce89e

File tree

7 files changed

+11
-36
lines changed

7 files changed

+11
-36
lines changed

providers/mysql/pyproject.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ requires-python = ">=3.10"
5858
# After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build``
5959
dependencies = [
6060
"apache-airflow>=2.10.0",
61+
"apache-airflow-providers-common-compat>=1.8.0",
6162
"apache-airflow-providers-common-sql>=1.20.0",
6263
# The mysqlclient package creates friction when installing on MacOS as it needs pkg-config to
6364
# Install and compile, and it's really only used by MySQL provider, so we can skip it on MacOS
@@ -95,6 +96,7 @@ dev = [
9596
"apache-airflow-task-sdk",
9697
"apache-airflow-devel-common",
9798
"apache-airflow-providers-amazon",
99+
"apache-airflow-providers-common-compat",
98100
"apache-airflow-providers-common-sql",
99101
"apache-airflow-providers-openlineage",
100102
"apache-airflow-providers-presto",

providers/mysql/src/airflow/providers/mysql/hooks/mysql.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,7 @@
3030
logger = logging.getLogger(__name__)
3131

3232
if TYPE_CHECKING:
33-
from airflow.providers.mysql.version_compat import AIRFLOW_V_3_0_PLUS
34-
35-
if AIRFLOW_V_3_0_PLUS:
36-
from airflow.sdk import Connection
37-
else:
38-
from airflow.models.connection import Connection # type: ignore[assignment]
33+
from airflow.providers.common.compat.sdk import Connection
3934

4035
try:
4136
from mysql.connector.abstracts import MySQLConnectionAbstract

providers/mysql/src/airflow/providers/mysql/transfers/presto_to_mysql.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,12 @@
2020
from collections.abc import Sequence
2121
from typing import TYPE_CHECKING
2222

23+
from airflow.providers.common.compat.sdk import BaseOperator
2324
from airflow.providers.mysql.hooks.mysql import MySqlHook
24-
from airflow.providers.mysql.version_compat import BaseOperator
2525
from airflow.providers.presto.hooks.presto import PrestoHook
2626

2727
if TYPE_CHECKING:
28-
try:
29-
from airflow.sdk.definitions.context import Context
30-
except ImportError:
31-
# TODO: Remove once provider drops support for Airflow 2
32-
from airflow.utils.context import Context
28+
from airflow.providers.common.compat.sdk import Context
3329

3430

3531
class PrestoToMySqlOperator(BaseOperator):

providers/mysql/src/airflow/providers/mysql/transfers/s3_to_mysql.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,11 @@
2121
from typing import TYPE_CHECKING
2222

2323
from airflow.providers.amazon.aws.hooks.s3 import S3Hook
24+
from airflow.providers.common.compat.sdk import BaseOperator
2425
from airflow.providers.mysql.hooks.mysql import MySqlHook
25-
from airflow.providers.mysql.version_compat import BaseOperator
2626

2727
if TYPE_CHECKING:
28-
try:
29-
from airflow.sdk.definitions.context import Context
30-
except ImportError:
31-
# TODO: Remove once provider drops support for Airflow 2
32-
from airflow.utils.context import Context
28+
from airflow.providers.common.compat.sdk import Context
3329

3430

3531
class S3ToMySqlOperator(BaseOperator):

providers/mysql/src/airflow/providers/mysql/transfers/trino_to_mysql.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,12 @@
2020
from collections.abc import Sequence
2121
from typing import TYPE_CHECKING
2222

23+
from airflow.providers.common.compat.sdk import BaseOperator
2324
from airflow.providers.mysql.hooks.mysql import MySqlHook
24-
from airflow.providers.mysql.version_compat import BaseOperator
2525
from airflow.providers.trino.hooks.trino import TrinoHook
2626

2727
if TYPE_CHECKING:
28-
try:
29-
from airflow.sdk.definitions.context import Context
30-
except ImportError:
31-
# TODO: Remove once provider drops support for Airflow 2
32-
from airflow.utils.context import Context
28+
from airflow.providers.common.compat.sdk import Context
3329

3430

3531
class TrinoToMySqlOperator(BaseOperator):

providers/mysql/src/airflow/providers/mysql/transfers/vertica_to_mysql.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,16 +33,12 @@
3333
"installed in case you see compilation error during installation."
3434
)
3535

36+
from airflow.providers.common.compat.sdk import BaseOperator
3637
from airflow.providers.mysql.hooks.mysql import MySqlHook
37-
from airflow.providers.mysql.version_compat import BaseOperator
3838
from airflow.providers.vertica.hooks.vertica import VerticaHook
3939

4040
if TYPE_CHECKING:
41-
try:
42-
from airflow.sdk.definitions.context import Context
43-
except ImportError:
44-
# TODO: Remove once provider drops support for Airflow 2
45-
from airflow.utils.context import Context
41+
from airflow.providers.common.compat.sdk import Context
4642

4743

4844
class VerticaToMySqlOperator(BaseOperator):

providers/mysql/src/airflow/providers/mysql/version_compat.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,6 @@ def get_base_airflow_version_tuple() -> tuple[int, int, int]:
2929

3030
AIRFLOW_V_3_0_PLUS = get_base_airflow_version_tuple() >= (3, 0, 0)
3131

32-
if AIRFLOW_V_3_0_PLUS:
33-
from airflow.sdk import BaseOperator
34-
else:
35-
from airflow.models import BaseOperator
36-
3732
__all__ = [
3833
"AIRFLOW_V_3_0_PLUS",
39-
"BaseOperator",
4034
]

0 commit comments

Comments
 (0)