From 9a697362cb0e78320ae9875b1b8bf1b91466f887 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Mon, 4 Dec 2023 15:35:29 -0300 Subject: [PATCH] Add database migration scripts --- .../alembic/versions/1ef9c4f3765d_.py | 43 +++++++++++++++++++ .../versions/260dbcc8b680_adds_tables.py | 2 +- ...2acc8b2_adds_updated_at_and_folder_cols.py | 15 ++++--- ...866d51fd2_change_columns_to_be_nullable.py | 9 ++-- 4 files changed, 58 insertions(+), 11 deletions(-) create mode 100644 src/backend/langflow/alembic/versions/1ef9c4f3765d_.py diff --git a/src/backend/langflow/alembic/versions/1ef9c4f3765d_.py b/src/backend/langflow/alembic/versions/1ef9c4f3765d_.py new file mode 100644 index 000000000..f2bc42917 --- /dev/null +++ b/src/backend/langflow/alembic/versions/1ef9c4f3765d_.py @@ -0,0 +1,43 @@ +""" + + +Revision ID: 1ef9c4f3765d +Revises: fd531f8868b1 +Create Date: 2023-12-04 15:00:27.968998 + +""" +from typing import Sequence, Union + +import sqlalchemy as sa +import sqlmodel +from alembic import op + +# revision identifiers, used by Alembic. +revision: str = '1ef9c4f3765d' +down_revision: Union[str, None] = 'fd531f8868b1' +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + try: + with op.batch_alter_table('apikey', schema=None) as batch_op: + batch_op.alter_column('name', + existing_type=sqlmodel.sql.sqltypes.AutoString(), + nullable=True) + except Exception as e: + pass + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + try: + with op.batch_alter_table('apikey', schema=None) as batch_op: + batch_op.alter_column('name', + existing_type=sa.VARCHAR(), + nullable=False) + except Exception as e: + pass + # ### end Alembic commands ### diff --git a/src/backend/langflow/alembic/versions/260dbcc8b680_adds_tables.py b/src/backend/langflow/alembic/versions/260dbcc8b680_adds_tables.py index 53e049a05..0752b6b23 100644 --- a/src/backend/langflow/alembic/versions/260dbcc8b680_adds_tables.py +++ b/src/backend/langflow/alembic/versions/260dbcc8b680_adds_tables.py @@ -7,9 +7,9 @@ Create Date: 2023-08-27 19:49:02.681355 """ from typing import Sequence, Union -from alembic import op import sqlalchemy as sa import sqlmodel +from alembic import op from sqlalchemy.engine.reflection import Inspector # revision identifiers, used by Alembic. diff --git a/src/backend/langflow/alembic/versions/7d2162acc8b2_adds_updated_at_and_folder_cols.py b/src/backend/langflow/alembic/versions/7d2162acc8b2_adds_updated_at_and_folder_cols.py index 13b5a7db7..f8280053b 100644 --- a/src/backend/langflow/alembic/versions/7d2162acc8b2_adds_updated_at_and_folder_cols.py +++ b/src/backend/langflow/alembic/versions/7d2162acc8b2_adds_updated_at_and_folder_cols.py @@ -20,12 +20,15 @@ depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: # ### commands auto generated by Alembic - please adjust! ### - with op.batch_alter_table('component', schema=None) as batch_op: - batch_op.drop_index('ix_component_frontend_node_id') - batch_op.drop_index('ix_component_name') - - op.drop_table('component') - op.drop_table('flowstyle') + try: + with op.batch_alter_table('component', schema=None) as batch_op: + batch_op.drop_index('ix_component_frontend_node_id') + batch_op.drop_index('ix_component_name') + op.drop_table('component') + op.drop_table('flowstyle') + except Exception as e: + print(e) + pass with op.batch_alter_table('apikey', schema=None) as batch_op: batch_op.alter_column('name', existing_type=sa.VARCHAR(), diff --git a/src/backend/langflow/alembic/versions/eb5866d51fd2_change_columns_to_be_nullable.py b/src/backend/langflow/alembic/versions/eb5866d51fd2_change_columns_to_be_nullable.py index cb126c926..080602358 100644 --- a/src/backend/langflow/alembic/versions/eb5866d51fd2_change_columns_to_be_nullable.py +++ b/src/backend/langflow/alembic/versions/eb5866d51fd2_change_columns_to_be_nullable.py @@ -7,10 +7,9 @@ Create Date: 2023-10-04 10:18:25.640458 """ from typing import Sequence, Union -from alembic import op import sqlalchemy as sa +from alembic import op from sqlalchemy import exc -import sqlmodel # noqa: F401 # revision identifiers, used by Alembic. revision: str = "eb5866d51fd2" @@ -28,14 +27,16 @@ def upgrade() -> None: batch_op.drop_index("ix_component_frontend_node_id") batch_op.drop_index("ix_component_name") except exc.SQLAlchemyError: - connection.execute("ROLLBACK") + # connection.execute(text("ROLLBACK")) + pass except Exception: pass try: op.drop_table("component") except exc.SQLAlchemyError: - connection.execute("ROLLBACK") + # connection.execute(text("ROLLBACK")) + pass except Exception: pass # ### end Alembic commands ###