You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by ka...@apache.org on 2020/11/14 09:14:30 UTC

[airflow] branch master updated: Reorder Database Migrations (#12362)

This is an automated email from the ASF dual-hosted git repository.

kaxilnaik pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/master by this push:
     new 9e7b7ef  Reorder Database Migrations (#12362)
9e7b7ef is described below

commit 9e7b7efb695390c3bb696d56454d7f490a708753
Author: Kaxil Naik <ka...@gmail.com>
AuthorDate: Sat Nov 14 09:13:33 2020 +0000

    Reorder Database Migrations (#12362)
    
    Becase `2c6edca13270` (Resource based permissions) & `849da589634d` (Prefix DAG permissions)
    were run before `92c57b58940d_add_fab_tables.py` and `03afc6b6f902_increase_length_of_fab_ab_view_menu_.py`,
    the FAB tables were already created because those migrations imported `from airflow.www.app import create_app`
    which calls the following lines that creates tables:
    
    https://github.com/dpgaspar/Flask-AppBuilder/blob/0e7f62418be0aea056302769ebac7d9bfa2bdd4e/flask_appbuilder/security/sqla/manager.py#L86-L97
    
    Previously:
    
    ```
    INFO  [alembic.runtime.migration] Running upgrade bef4f3d11e8b -> 98271e7606e2, Add scheduling_decision to DagRun and DAG
    INFO  [alembic.runtime.migration] Running upgrade 98271e7606e2 -> 52d53670a240, fix_mssql_exec_date_rendered_task_instance_fields_for_MSSQL
    INFO  [alembic.runtime.migration] Running upgrade 52d53670a240 -> 849da589634d, Prefix DAG permissions.
    [2020-11-14 02:35:43,055] {manager.py:727} WARNING - No user yet created, use flask fab command to do it.
    [2020-11-14 02:35:46,790] {migration.py:515} INFO - Running upgrade 849da589634d -> 364159666cbd, Add creating_job_id to DagRun table
    [2020-11-14 02:35:46,794] {migration.py:515} INFO - Running upgrade 364159666cbd -> 2c6edca13270, Resource based permissions.
    [2020-11-14 02:35:46,795] {app.py:87} INFO - User session lifetime is set to 43200 minutes.
    [2020-11-14 02:35:46,806] {manager.py:727} WARNING - No user yet created, use flask fab command to do it.
    [2020-11-14 02:35:48,221] {migration.py:515} INFO - Running upgrade 2c6edca13270 -> 45ba3f1493b9, add-k8s-yaml-to-rendered-templates
    [2020-11-14 02:35:48,226] {migration.py:515} INFO - Running upgrade 45ba3f1493b9 -> 92c57b58940d, Create FAB Tables
    [2020-11-14 02:35:48,227] {migration.py:515} INFO - Running upgrade 92c57b58940d -> 03afc6b6f902, Increase length of FAB ab_view_menu.name column
    ```
    
    Now:
    
    ```
    INFO  [alembic.runtime.migration] Running upgrade bef4f3d11e8b -> 98271e7606e2, Add scheduling_decision to DagRun and DAG
    INFO  [alembic.runtime.migration] Running upgrade 98271e7606e2 -> 52d53670a240, fix_mssql_exec_date_rendered_task_instance_fields_for_MSSQL
    INFO  [alembic.runtime.migration] Running upgrade 52d53670a240 -> 364159666cbd, Add creating_job_id to DagRun table
    INFO  [alembic.runtime.migration] Running upgrade 364159666cbd -> 45ba3f1493b9, add-k8s-yaml-to-rendered-templates
    INFO  [alembic.runtime.migration] Running upgrade 45ba3f1493b9 -> 92c57b58940d, Create FAB Tables
    INFO  [alembic.runtime.migration] Running upgrade 92c57b58940d -> 03afc6b6f902, Increase length of FAB ab_view_menu.name column
    INFO  [alembic.runtime.migration] Running upgrade 03afc6b6f902 -> 849da589634d, Prefix DAG permissions.
    [2020-11-14 02:57:18,886] {manager.py:727} WARNING - No user yet created, use flask fab command to do it.
    [2020-11-14 02:57:22,380] {migration.py:515} INFO - Running upgrade 849da589634d -> 2c6edca13270, Resource based permissions.
    ```
---
 ...6b6f902_increase_length_of_fab_ab_view_menu_.py | 14 -------
 .../2c6edca13270_resource_based_permissions.py     |  4 +-
 .../364159666cbd_add_job_id_to_dagrun_table.py     |  4 +-
 ...a3f1493b9_add_k8s_yaml_to_rendered_templates.py |  2 +-
 .../849da589634d_prefix_dag_permissions.py         |  4 +-
 .../versions/92c57b58940d_add_fab_tables.py        | 46 +++++++++++-----------
 6 files changed, 30 insertions(+), 44 deletions(-)

diff --git a/airflow/migrations/versions/03afc6b6f902_increase_length_of_fab_ab_view_menu_.py b/airflow/migrations/versions/03afc6b6f902_increase_length_of_fab_ab_view_menu_.py
index 22fd8c3..aeb5665 100644
--- a/airflow/migrations/versions/03afc6b6f902_increase_length_of_fab_ab_view_menu_.py
+++ b/airflow/migrations/versions/03afc6b6f902_increase_length_of_fab_ab_view_menu_.py
@@ -42,13 +42,6 @@ def upgrade():
     tables = inspector.get_table_names()
 
     if "ab_view_menu" in tables:
-        # Get Column and check if its length is already 250
-        get_ab_view_menu_name_column = [
-            col for col in inspector.get_columns('ab_view_menu') if col.get('name') == 'name'
-        ]
-        if get_ab_view_menu_name_column and get_ab_view_menu_name_column[0]['type'].length == 250:
-            # Do nothing if the left is already 250
-            return
         if conn.dialect.name == "sqlite":
             op.execute("PRAGMA foreign_keys=off")
             op.execute(
@@ -76,13 +69,6 @@ def downgrade():
     inspector = Inspector.from_engine(conn)
     tables = inspector.get_table_names()
     if "ab_view_menu" in tables:
-        # Get Column and check if its length is already 100
-        get_ab_view_menu_name_column = [
-            col for col in inspector.get_columns('ab_view_menu') if col.get('name') == 'name'
-        ]
-        if get_ab_view_menu_name_column and get_ab_view_menu_name_column[0]['type'].length == 100:
-            # Do nothing if the left is already 100
-            return
         if conn.dialect.name == "sqlite":
             op.execute("PRAGMA foreign_keys=off")
             op.execute(
diff --git a/airflow/migrations/versions/2c6edca13270_resource_based_permissions.py b/airflow/migrations/versions/2c6edca13270_resource_based_permissions.py
index 879ca28..a4c227e 100644
--- a/airflow/migrations/versions/2c6edca13270_resource_based_permissions.py
+++ b/airflow/migrations/versions/2c6edca13270_resource_based_permissions.py
@@ -19,7 +19,7 @@
 """Resource based permissions.
 
 Revision ID: 2c6edca13270
-Revises: 364159666cbd
+Revises: 849da589634d
 Create Date: 2020-10-21 00:18:52.529438
 
 """
@@ -28,7 +28,7 @@ from airflow.www.app import create_app
 
 # revision identifiers, used by Alembic.
 revision = '2c6edca13270'
-down_revision = '364159666cbd'
+down_revision = '849da589634d'
 branch_labels = None
 depends_on = None
 
diff --git a/airflow/migrations/versions/364159666cbd_add_job_id_to_dagrun_table.py b/airflow/migrations/versions/364159666cbd_add_job_id_to_dagrun_table.py
index b4e1fae..8e6989a 100644
--- a/airflow/migrations/versions/364159666cbd_add_job_id_to_dagrun_table.py
+++ b/airflow/migrations/versions/364159666cbd_add_job_id_to_dagrun_table.py
@@ -19,7 +19,7 @@
 """Add creating_job_id to DagRun table
 
 Revision ID: 364159666cbd
-Revises: 849da589634d
+Revises: 52d53670a240
 Create Date: 2020-10-10 09:08:07.332456
 
 """
@@ -29,7 +29,7 @@ from alembic import op
 
 # revision identifiers, used by Alembic.
 revision = '364159666cbd'
-down_revision = '849da589634d'
+down_revision = '52d53670a240'
 branch_labels = None
 depends_on = None
 
diff --git a/airflow/migrations/versions/45ba3f1493b9_add_k8s_yaml_to_rendered_templates.py b/airflow/migrations/versions/45ba3f1493b9_add_k8s_yaml_to_rendered_templates.py
index 33dc238..f78402e 100644
--- a/airflow/migrations/versions/45ba3f1493b9_add_k8s_yaml_to_rendered_templates.py
+++ b/airflow/migrations/versions/45ba3f1493b9_add_k8s_yaml_to_rendered_templates.py
@@ -32,7 +32,7 @@ from airflow.settings import json
 
 # revision identifiers, used by Alembic.
 revision = '45ba3f1493b9'
-down_revision = '2c6edca13270'
+down_revision = '364159666cbd'
 branch_labels = None
 depends_on = None
 
diff --git a/airflow/migrations/versions/849da589634d_prefix_dag_permissions.py b/airflow/migrations/versions/849da589634d_prefix_dag_permissions.py
index 240b39e..35ef0fa 100644
--- a/airflow/migrations/versions/849da589634d_prefix_dag_permissions.py
+++ b/airflow/migrations/versions/849da589634d_prefix_dag_permissions.py
@@ -19,7 +19,7 @@
 """Prefix DAG permissions.
 
 Revision ID: 849da589634d
-Revises: 52d53670a240
+Revises: 03afc6b6f902
 Create Date: 2020-10-01 17:25:10.006322
 
 """
@@ -29,7 +29,7 @@ from airflow.www.app import cached_app
 
 # revision identifiers, used by Alembic.
 revision = '849da589634d'
-down_revision = '52d53670a240'
+down_revision = '03afc6b6f902'
 branch_labels = None
 depends_on = None
 
diff --git a/airflow/migrations/versions/92c57b58940d_add_fab_tables.py b/airflow/migrations/versions/92c57b58940d_add_fab_tables.py
index 31079e1..5b318e1 100644
--- a/airflow/migrations/versions/92c57b58940d_add_fab_tables.py
+++ b/airflow/migrations/versions/92c57b58940d_add_fab_tables.py
@@ -43,7 +43,7 @@ def upgrade():
     if "ab_permission" not in tables:
         op.create_table(
             'ab_permission',
-            sa.Column('id', sa.INTEGER(), nullable=False, primary_key=True),
+            sa.Column('id', sa.Integer(), nullable=False, primary_key=True),
             sa.Column('name', sa.String(length=100), nullable=False),
             sa.PrimaryKeyConstraint('id'),
             sa.UniqueConstraint('name'),
@@ -52,7 +52,7 @@ def upgrade():
     if "ab_view_menu" not in tables:
         op.create_table(
             'ab_view_menu',
-            sa.Column('id', sa.INTEGER(), nullable=False, primary_key=True),
+            sa.Column('id', sa.Integer(), nullable=False, primary_key=True),
             sa.Column('name', sa.String(length=100), nullable=False),
             sa.PrimaryKeyConstraint('id'),
             sa.UniqueConstraint('name'),
@@ -61,7 +61,7 @@ def upgrade():
     if "ab_role" not in tables:
         op.create_table(
             'ab_role',
-            sa.Column('id', sa.INTEGER(), nullable=False, primary_key=True),
+            sa.Column('id', sa.Integer(), nullable=False, primary_key=True),
             sa.Column('name', sa.String(length=64), nullable=False),
             sa.PrimaryKeyConstraint('id'),
             sa.UniqueConstraint('name'),
@@ -70,9 +70,9 @@ def upgrade():
     if "ab_permission_view" not in tables:
         op.create_table(
             'ab_permission_view',
-            sa.Column('id', sa.INTEGER(), nullable=False, primary_key=True),
-            sa.Column('permission_id', sa.INTEGER(), nullable=True),
-            sa.Column('view_menu_id', sa.INTEGER(), nullable=True),
+            sa.Column('id', sa.Integer(), nullable=False, primary_key=True),
+            sa.Column('permission_id', sa.Integer(), nullable=True),
+            sa.Column('view_menu_id', sa.Integer(), nullable=True),
             sa.ForeignKeyConstraint(['permission_id'], ['ab_permission.id']),
             sa.ForeignKeyConstraint(['view_menu_id'], ['ab_view_menu.id']),
             sa.PrimaryKeyConstraint('id'),
@@ -82,9 +82,9 @@ def upgrade():
     if "ab_permission_view_role" not in tables:
         op.create_table(
             'ab_permission_view_role',
-            sa.Column('id', sa.INTEGER(), nullable=False, primary_key=True),
-            sa.Column('permission_view_id', sa.INTEGER(), nullable=True),
-            sa.Column('role_id', sa.INTEGER(), nullable=True),
+            sa.Column('id', sa.Integer(), nullable=False, primary_key=True),
+            sa.Column('permission_view_id', sa.Integer(), nullable=True),
+            sa.Column('role_id', sa.Integer(), nullable=True),
             sa.ForeignKeyConstraint(['permission_view_id'], ['ab_permission_view.id']),
             sa.ForeignKeyConstraint(['role_id'], ['ab_role.id']),
             sa.PrimaryKeyConstraint('id'),
@@ -94,20 +94,20 @@ def upgrade():
     if "ab_user" not in tables:
         op.create_table(
             'ab_user',
-            sa.Column('id', sa.INTEGER(), nullable=False, primary_key=True),
+            sa.Column('id', sa.Integer(), nullable=False, primary_key=True),
             sa.Column('first_name', sa.String(length=64), nullable=False),
             sa.Column('last_name', sa.String(length=64), nullable=False),
             sa.Column('username', sa.String(length=64), nullable=False),
             sa.Column('password', sa.String(length=256), nullable=True),
-            sa.Column('active', sa.BOOLEAN(), nullable=True),
+            sa.Column('active', sa.Boolean(), nullable=True),
             sa.Column('email', sa.String(length=64), nullable=False),
-            sa.Column('last_login', sa.DATETIME(), nullable=True),
-            sa.Column('login_count', sa.INTEGER(), nullable=True),
-            sa.Column('fail_login_count', sa.INTEGER(), nullable=True),
-            sa.Column('created_on', sa.DATETIME(), nullable=True),
-            sa.Column('changed_on', sa.DATETIME(), nullable=True),
-            sa.Column('created_by_fk', sa.INTEGER(), nullable=True),
-            sa.Column('changed_by_fk', sa.INTEGER(), nullable=True),
+            sa.Column('last_login', sa.DateTime(), nullable=True),
+            sa.Column('login_count', sa.Integer(), nullable=True),
+            sa.Column('fail_login_count', sa.Integer(), nullable=True),
+            sa.Column('created_on', sa.DateTime(), nullable=True),
+            sa.Column('changed_on', sa.DateTime(), nullable=True),
+            sa.Column('created_by_fk', sa.Integer(), nullable=True),
+            sa.Column('changed_by_fk', sa.Integer(), nullable=True),
             sa.ForeignKeyConstraint(['changed_by_fk'], ['ab_user.id']),
             sa.ForeignKeyConstraint(['created_by_fk'], ['ab_user.id']),
             sa.PrimaryKeyConstraint('id'),
@@ -118,9 +118,9 @@ def upgrade():
     if "ab_user_role" not in tables:
         op.create_table(
             'ab_user_role',
-            sa.Column('id', sa.INTEGER(), nullable=False, primary_key=True),
-            sa.Column('user_id', sa.INTEGER(), nullable=True),
-            sa.Column('role_id', sa.INTEGER(), nullable=True),
+            sa.Column('id', sa.Integer(), nullable=False, primary_key=True),
+            sa.Column('user_id', sa.Integer(), nullable=True),
+            sa.Column('role_id', sa.Integer(), nullable=True),
             sa.ForeignKeyConstraint(
                 ['role_id'],
                 ['ab_role.id'],
@@ -136,13 +136,13 @@ def upgrade():
     if "ab_register_user" not in tables:
         op.create_table(
             'ab_register_user',
-            sa.Column('id', sa.INTEGER(), nullable=False, primary_key=True),
+            sa.Column('id', sa.Integer(), nullable=False, primary_key=True),
             sa.Column('first_name', sa.String(length=64), nullable=False),
             sa.Column('last_name', sa.String(length=64), nullable=False),
             sa.Column('username', sa.String(length=64), nullable=False),
             sa.Column('password', sa.String(length=256), nullable=True),
             sa.Column('email', sa.String(length=64), nullable=False),
-            sa.Column('registration_date', sa.DATETIME(), nullable=True),
+            sa.Column('registration_date', sa.DateTime(), nullable=True),
             sa.Column('registration_hash', sa.String(length=256), nullable=True),
             sa.PrimaryKeyConstraint('id'),
             sa.UniqueConstraint('username'),