diff --git a/website/migrations/versions/01de07e2686a_.py b/website/migrations/versions/01de07e2686a_.py index 8c128d07..59841681 100644 --- a/website/migrations/versions/01de07e2686a_.py +++ b/website/migrations/versions/01de07e2686a_.py @@ -7,6 +7,7 @@ Create Date: 2024-02-05 14:38:17.739081 """ from alembic import op import sqlalchemy as sa +from sqlalchemy.exc import OperationalError # revision identifiers, used by Alembic. @@ -18,8 +19,11 @@ depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### - with op.batch_alter_table('module', schema=None) as batch_op: - batch_op.add_column(sa.Column('is_active', sa.Boolean(), nullable=True, default=True)) + try: + with op.batch_alter_table('module', schema=None) as batch_op: + batch_op.add_column(sa.Column('is_active', sa.Boolean(), nullable=True, default=True)) + except OperationalError: + print("Column 'is_active' already exist in 'module'") # ### end Alembic commands ### diff --git a/website/migrations/versions/0b5e7db16af8_.py b/website/migrations/versions/0b5e7db16af8_.py index 09d380e6..d305a4a0 100644 --- a/website/migrations/versions/0b5e7db16af8_.py +++ b/website/migrations/versions/0b5e7db16af8_.py @@ -7,6 +7,7 @@ Create Date: 2024-02-07 11:37:07.698058 """ from alembic import op import sqlalchemy as sa +from sqlalchemy.exc import OperationalError # revision identifiers, used by Alembic. @@ -18,19 +19,34 @@ depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### - op.create_table('history', - sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), - sa.Column('session_id', sa.Integer(), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - with op.batch_alter_table('history', schema=None) as batch_op: - batch_op.create_index(batch_op.f('ix_history_session_id'), ['session_id'], unique=False) + try: + op.create_table('history', + sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), + sa.Column('session_id', sa.Integer(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + except OperationalError: + print("Table 'history' already exist") - with op.batch_alter_table('session', schema=None) as batch_op: - batch_op.add_column(sa.Column('nb_errors', sa.Integer(), nullable=True)) - batch_op.drop_index('ix_session_uuid') - batch_op.create_index(batch_op.f('ix_session_uuid'), ['uuid'], unique=True) - batch_op.create_index(batch_op.f('ix_session_nb_errors'), ['nb_errors'], unique=False) + try: + with op.batch_alter_table('history', schema=None) as batch_op: + batch_op.create_index(batch_op.f('ix_history_session_id'), ['session_id'], unique=False) + except OperationalError: + print("Index already exist for history") + + try: + with op.batch_alter_table('session', schema=None) as batch_op: + batch_op.add_column(sa.Column('nb_errors', sa.Integer(), nullable=True)) + batch_op.create_index(batch_op.f('ix_session_uuid'), ['uuid'], unique=True) + batch_op.create_index(batch_op.f('ix_session_nb_errors'), ['nb_errors'], unique=False) + except OperationalError: + print("Column 'nb_errors' already exist in 'session'") + + try: + with op.batch_alter_table('session', schema=None) as batch_op: + batch_op.drop_index('ix_session_uuid') + except OperationalError: + print("Index already dropped from session") # ### end Alembic commands ### diff --git a/website/migrations/versions/0c02b861944b_.py b/website/migrations/versions/0c02b861944b_.py index 664d3428..ecab6d16 100644 --- a/website/migrations/versions/0c02b861944b_.py +++ b/website/migrations/versions/0c02b861944b_.py @@ -7,6 +7,7 @@ Create Date: 2024-02-06 09:08:59.802932 """ from alembic import op import sqlalchemy as sa +from sqlalchemy.exc import OperationalError # revision identifiers, used by Alembic. @@ -18,11 +19,17 @@ depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### - with op.batch_alter_table('module', schema=None) as batch_op: - batch_op.add_column(sa.Column('request_on_query', sa.Boolean(), nullable=True)) + try: + with op.batch_alter_table('module', schema=None) as batch_op: + batch_op.add_column(sa.Column('request_on_query', sa.Boolean(), nullable=True)) + except OperationalError: + print("Column 'request_on_query' already exist in 'module'") - with op.batch_alter_table('module__config', schema=None) as batch_op: - batch_op.drop_column('request_on_query') + try: + with op.batch_alter_table('module__config', schema=None) as batch_op: + batch_op.drop_column('request_on_query') + except OperationalError: + print("Column 'request_on_query' already dropped from 'module__config'") # ### end Alembic commands ### diff --git a/website/migrations/versions/0d3b152688fe_.py b/website/migrations/versions/0d3b152688fe_.py index d826a86a..ee64bbb1 100644 --- a/website/migrations/versions/0d3b152688fe_.py +++ b/website/migrations/versions/0d3b152688fe_.py @@ -7,6 +7,7 @@ Create Date: 2024-02-07 11:08:00.337971 """ from alembic import op import sqlalchemy as sa +from sqlalchemy.exc import OperationalError # revision identifiers, used by Alembic. @@ -18,12 +19,15 @@ depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### - with op.batch_alter_table('session', schema=None) as batch_op: - batch_op.add_column(sa.Column('glob_query', sa.String(), nullable=True)) - batch_op.add_column(sa.Column('query', sa.String(), nullable=True)) - batch_op.add_column(sa.Column('input_query', sa.String(), nullable=True)) - batch_op.add_column(sa.Column('config_module', sa.String(), nullable=True)) - batch_op.add_column(sa.Column('result', sa.String(), nullable=True)) + try: + with op.batch_alter_table('session', schema=None) as batch_op: + batch_op.add_column(sa.Column('glob_query', sa.String(), nullable=True)) + batch_op.add_column(sa.Column('query', sa.String(), nullable=True)) + batch_op.add_column(sa.Column('input_query', sa.String(), nullable=True)) + batch_op.add_column(sa.Column('config_module', sa.String(), nullable=True)) + batch_op.add_column(sa.Column('result', sa.String(), nullable=True)) + except OperationalError: + print("Columns already exist in 'session'") # ### end Alembic commands ### diff --git a/website/migrations/versions/183bf8fa2b87_.py b/website/migrations/versions/183bf8fa2b87_.py index 8aab5cc3..e37bc120 100644 --- a/website/migrations/versions/183bf8fa2b87_.py +++ b/website/migrations/versions/183bf8fa2b87_.py @@ -7,6 +7,7 @@ Create Date: 2024-02-09 15:21:17.274707 """ from alembic import op import sqlalchemy as sa +from sqlalchemy.exc import OperationalError # revision identifiers, used by Alembic. @@ -18,8 +19,11 @@ depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### - with op.batch_alter_table('module', schema=None) as batch_op: - batch_op.add_column(sa.Column('input_attr', sa.String(), nullable=True)) + try: + with op.batch_alter_table('module', schema=None) as batch_op: + batch_op.add_column(sa.Column('input_attr', sa.String(), nullable=True)) + except OperationalError: + print("Column 'input_attr' already exist in 'module'") # ### end Alembic commands ### diff --git a/website/migrations/versions/1d38ae8361a7_.py b/website/migrations/versions/1d38ae8361a7_.py index f5c104c3..c468d463 100644 --- a/website/migrations/versions/1d38ae8361a7_.py +++ b/website/migrations/versions/1d38ae8361a7_.py @@ -7,6 +7,7 @@ Create Date: 2024-02-07 11:44:30.236490 """ from alembic import op import sqlalchemy as sa +from sqlalchemy.exc import OperationalError # revision identifiers, used by Alembic. @@ -18,26 +19,39 @@ depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### - op.create_table('session_db', - sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), - sa.Column('uuid', sa.String(length=36), nullable=True), - sa.Column('glob_query', sa.String(), nullable=True), - sa.Column('query', sa.String(), nullable=True), - sa.Column('input_query', sa.String(), nullable=True), - sa.Column('config_module', sa.String(), nullable=True), - sa.Column('result', sa.String(), nullable=True), - sa.Column('nb_errors', sa.Integer(), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - with op.batch_alter_table('session_db', schema=None) as batch_op: - batch_op.create_index(batch_op.f('ix_session_db_nb_errors'), ['nb_errors'], unique=False) - batch_op.create_index(batch_op.f('ix_session_db_uuid'), ['uuid'], unique=True) + try: + op.create_table('session_db', + sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), + sa.Column('uuid', sa.String(length=36), nullable=True), + sa.Column('glob_query', sa.String(), nullable=True), + sa.Column('query', sa.String(), nullable=True), + sa.Column('input_query', sa.String(), nullable=True), + sa.Column('config_module', sa.String(), nullable=True), + sa.Column('result', sa.String(), nullable=True), + sa.Column('nb_errors', sa.Integer(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + except OperationalError: + print("Table 'session_db' already exist") - with op.batch_alter_table('session', schema=None) as batch_op: - batch_op.drop_index('ix_session_nb_errors') - batch_op.drop_index('ix_session_uuid') + try: + with op.batch_alter_table('session_db', schema=None) as batch_op: + batch_op.create_index(batch_op.f('ix_session_db_nb_errors'), ['nb_errors'], unique=False) + batch_op.create_index(batch_op.f('ix_session_db_uuid'), ['uuid'], unique=True) + except OperationalError: + print("Index already exist in 'session_db'") - op.drop_table('session') + try: + with op.batch_alter_table('session', schema=None) as batch_op: + batch_op.drop_index('ix_session_nb_errors') + batch_op.drop_index('ix_session_uuid') + except OperationalError: + print("Index already dropped from 'session'") + + try: + op.drop_table('session') + except OperationalError: + print("Table 'session' already dropped") # ### end Alembic commands ### diff --git a/website/migrations/versions/206e0e808b0c_.py b/website/migrations/versions/206e0e808b0c_.py index f4fafa7d..1936e799 100644 --- a/website/migrations/versions/206e0e808b0c_.py +++ b/website/migrations/versions/206e0e808b0c_.py @@ -7,6 +7,7 @@ Create Date: 2024-08-21 09:36:37.801809 """ from alembic import op import sqlalchemy as sa +from sqlalchemy.exc import OperationalError # revision identifiers, used by Alembic. @@ -18,9 +19,12 @@ depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### - with op.batch_alter_table('external_tools', schema=None) as batch_op: - batch_op.add_column(sa.Column('api_key', sa.String(length=60), nullable=True)) - batch_op.create_index(batch_op.f('ix_external_tools_api_key'), ['api_key'], unique=False) + try: + with op.batch_alter_table('external_tools', schema=None) as batch_op: + batch_op.add_column(sa.Column('api_key', sa.String(length=60), nullable=True)) + batch_op.create_index(batch_op.f('ix_external_tools_api_key'), ['api_key'], unique=False) + except OperationalError: + print("Column 'api_key' already exist in 'external_tools") # ### end Alembic commands ### diff --git a/website/migrations/versions/3a631d400f60_.py b/website/migrations/versions/3a631d400f60_.py index b564a054..03faecdd 100644 --- a/website/migrations/versions/3a631d400f60_.py +++ b/website/migrations/versions/3a631d400f60_.py @@ -7,6 +7,7 @@ Create Date: 2024-06-27 11:15:52.165895 """ from alembic import op import sqlalchemy as sa +from sqlalchemy.exc import OperationalError # revision identifiers, used by Alembic. @@ -18,15 +19,21 @@ depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### - op.create_table('external_tools', - sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), - sa.Column('name', sa.String(length=64), nullable=True), - sa.Column('url', sa.String(), nullable=True), - sa.Column('is_active', sa.Boolean(), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - with op.batch_alter_table('external_tools', schema=None) as batch_op: - batch_op.create_index(batch_op.f('ix_external_tools_name'), ['name'], unique=False) + try: + op.create_table('external_tools', + sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), + sa.Column('name', sa.String(length=64), nullable=True), + sa.Column('url', sa.String(), nullable=True), + sa.Column('is_active', sa.Boolean(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + except OperationalError: + print("Table 'external_tools' already exist") + try: + with op.batch_alter_table('external_tools', schema=None) as batch_op: + batch_op.create_index(batch_op.f('ix_external_tools_name'), ['name'], unique=False) + except OperationalError: + print("Index already exist for 'external_tools'") # ### end Alembic commands ### diff --git a/website/migrations/versions/91f830996ff4_.py b/website/migrations/versions/91f830996ff4_.py index 30f0f2ac..d16f1c23 100644 --- a/website/migrations/versions/91f830996ff4_.py +++ b/website/migrations/versions/91f830996ff4_.py @@ -7,6 +7,7 @@ Create Date: 2024-02-09 09:51:11.639862 """ from alembic import op import sqlalchemy as sa +from sqlalchemy.exc import OperationalError # revision identifiers, used by Alembic. @@ -18,9 +19,12 @@ depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### - with op.batch_alter_table('session_db', schema=None) as batch_op: - batch_op.add_column(sa.Column('query_date', sa.DateTime(), nullable=True)) - batch_op.create_index(batch_op.f('ix_session_db_query_date'), ['query_date'], unique=False) + try: + with op.batch_alter_table('session_db', schema=None) as batch_op: + batch_op.add_column(sa.Column('query_date', sa.DateTime(), nullable=True)) + batch_op.create_index(batch_op.f('ix_session_db_query_date'), ['query_date'], unique=False) + except OperationalError: + print("Column 'query_date' already exist in 'session_db'") # ### end Alembic commands ### diff --git a/website/migrations/versions/c0e243696052_.py b/website/migrations/versions/c0e243696052_.py index 8f8aa7e3..df44bc94 100644 --- a/website/migrations/versions/c0e243696052_.py +++ b/website/migrations/versions/c0e243696052_.py @@ -7,6 +7,7 @@ Create Date: 2024-02-07 11:59:20.615266 """ from alembic import op import sqlalchemy as sa +from sqlalchemy.exc import OperationalError # revision identifiers, used by Alembic. @@ -18,9 +19,19 @@ depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### - with op.batch_alter_table('session_db', schema=None) as batch_op: - batch_op.add_column(sa.Column('query_enter', sa.String(), nullable=True)) - batch_op.drop_column('query') + try: + with op.batch_alter_table('session_db', schema=None) as batch_op: + batch_op.add_column(sa.Column('query_enter', sa.String(), nullable=True)) + except OperationalError: + print("Column 'query_entry' already exist in 'session_db'") + + try: + with op.batch_alter_table('session_db', schema=None) as batch_op: + batch_op.drop_column('query') + except OperationalError: + print("Column 'query' already dropped from 'session_db'") + except KeyError: + print("Column 'query' already dropped from 'session_db'") # ### end Alembic commands ### diff --git a/website/migrations/versions/d6f8bfc9d454_.py b/website/migrations/versions/d6f8bfc9d454_.py index 2fc02a56..bc34b21d 100644 --- a/website/migrations/versions/d6f8bfc9d454_.py +++ b/website/migrations/versions/d6f8bfc9d454_.py @@ -7,6 +7,7 @@ Create Date: 2024-02-08 15:23:46.714541 """ from alembic import op import sqlalchemy as sa +from sqlalchemy.exc import OperationalError # revision identifiers, used by Alembic. @@ -18,9 +19,19 @@ depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### - with op.batch_alter_table('session_db', schema=None) as batch_op: - batch_op.add_column(sa.Column('modules_list', sa.String(), nullable=True)) - batch_op.drop_column('glob_query') + try: + with op.batch_alter_table('session_db', schema=None) as batch_op: + batch_op.add_column(sa.Column('modules_list', sa.String(), nullable=True)) + except OperationalError: + print("Column 'modules_list' already exist in 'session_db'") + + try: + with op.batch_alter_table('session_db', schema=None) as batch_op: + batch_op.drop_column('glob_query') + except OperationalError: + print("Column 'glob_query' already dropped from 'session_db'") + except KeyError: + print("Column 'glob_query' already dropped from 'session_db'") # ### end Alembic commands ### diff --git a/website/migrations/versions/ef119b41c5f2_.py b/website/migrations/versions/ef119b41c5f2_.py index 3b0f9efd..862a0de2 100644 --- a/website/migrations/versions/ef119b41c5f2_.py +++ b/website/migrations/versions/ef119b41c5f2_.py @@ -7,6 +7,7 @@ Create Date: 2024-02-06 08:10:37.101421 """ from alembic import op import sqlalchemy as sa +from sqlalchemy.exc import OperationalError # revision identifiers, used by Alembic. @@ -18,8 +19,11 @@ depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### - with op.batch_alter_table('module__config', schema=None) as batch_op: - batch_op.add_column(sa.Column('request_on_query', sa.Boolean(), nullable=True)) + try: + with op.batch_alter_table('module__config', schema=None) as batch_op: + batch_op.add_column(sa.Column('request_on_query', sa.Boolean(), nullable=True)) + except OperationalError: + print('Coulmn "request_on_query" already exist in "module__config"') # ### end Alembic commands ###