From 2678b98837e028f2664057fb69692285e122499e Mon Sep 17 00:00:00 2001 From: Lina Date: Tue, 9 Jul 2024 10:18:06 +0200 Subject: [PATCH 1/4] Added schema data_manager --- .../3d0f69f9c513_added_schema_data_manager.py | 54 +++++++++++++++++++ submodules/model | 2 +- 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 alembic/versions/3d0f69f9c513_added_schema_data_manager.py diff --git a/alembic/versions/3d0f69f9c513_added_schema_data_manager.py b/alembic/versions/3d0f69f9c513_added_schema_data_manager.py new file mode 100644 index 00000000..1915aec6 --- /dev/null +++ b/alembic/versions/3d0f69f9c513_added_schema_data_manager.py @@ -0,0 +1,54 @@ +"""Added schema data_manager + +Revision ID: 3d0f69f9c513 +Revises: 706d5611a73e +Create Date: 2024-07-09 08:14:48.808354 + +""" + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision = "3d0f69f9c513" +down_revision = "706d5611a73e" +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.execute("create schema data_manager") + op.create_table( + "organization_questions", + sa.Column("id", postgresql.UUID(as_uuid=True), nullable=False), + sa.Column("organization_id", postgresql.UUID(as_uuid=True), nullable=True), + sa.Column("type", sa.String(), nullable=True), + sa.Column("config", sa.JSON(), nullable=True), + sa.ForeignKeyConstraint( + ["organization_id"], ["organization.id"], ondelete="CASCADE" + ), + sa.PrimaryKeyConstraint("id"), + schema="data_manager", + ) + op.create_index( + op.f("ix_data_manager_organization_questions_organization_id"), + "organization_questions", + ["organization_id"], + unique=False, + schema="data_manager", + ) + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index( + op.f("ix_data_manager_organization_questions_organization_id"), + table_name="organization_questions", + schema="data_manager", + ) + op.drop_table("organization_questions", schema="data_manager") + op.execute("drop schema data_manager") + # ### end Alembic commands ### diff --git a/submodules/model b/submodules/model index a383dee1..f04ba80d 160000 --- a/submodules/model +++ b/submodules/model @@ -1 +1 @@ -Subproject commit a383dee17be29decb6193459c82f5cf384191744 +Subproject commit f04ba80dc3dabf21139e869b6763856ffea35436 From 085ab74e6c285f6a9253c7440b3942a52e08fe82 Mon Sep 17 00:00:00 2001 From: LennartSchmidtKern Date: Tue, 9 Jul 2024 11:47:32 +0200 Subject: [PATCH 2/4] business model tables --- .../0b6ba72d9c7d_adding_business_model.py | 91 +++++++++++++++++++ submodules/model | 2 +- 2 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 alembic/versions/0b6ba72d9c7d_adding_business_model.py diff --git a/alembic/versions/0b6ba72d9c7d_adding_business_model.py b/alembic/versions/0b6ba72d9c7d_adding_business_model.py new file mode 100644 index 00000000..5caf22fc --- /dev/null +++ b/alembic/versions/0b6ba72d9c7d_adding_business_model.py @@ -0,0 +1,91 @@ +"""adding business model + +Revision ID: 0b6ba72d9c7d +Revises: 3d0f69f9c513 +Create Date: 2024-07-09 09:42:46.527255 + +""" +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision = '0b6ba72d9c7d' +down_revision = '3d0f69f9c513' +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('business_models', + sa.Column('id', postgresql.UUID(as_uuid=True), nullable=False), + sa.Column('organization_id', postgresql.UUID(as_uuid=True), nullable=True), + sa.Column('name', sa.String(), nullable=True), + sa.Column('description', sa.String(), nullable=True), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.ForeignKeyConstraint(['organization_id'], ['organization.id'], ondelete='CASCADE'), + sa.PrimaryKeyConstraint('id'), + schema='data_manager' + ) + op.create_index(op.f('ix_data_manager_business_models_organization_id'), 'business_models', ['organization_id'], unique=False, schema='data_manager') + op.create_table('data_concepts', + sa.Column('id', postgresql.UUID(as_uuid=True), nullable=False), + sa.Column('business_model_id', postgresql.UUID(as_uuid=True), nullable=True), + sa.Column('question_id', postgresql.UUID(as_uuid=True), nullable=True), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('created_by', postgresql.UUID(as_uuid=True), nullable=True), + sa.Column('input', sa.String(), nullable=True), + sa.ForeignKeyConstraint(['business_model_id'], ['data_manager.business_models.id'], ondelete='CASCADE'), + sa.ForeignKeyConstraint(['created_by'], ['user.id'], ondelete='CASCADE'), + sa.ForeignKeyConstraint(['question_id'], ['data_manager.organization_questions.id'], ondelete='CASCADE'), + sa.PrimaryKeyConstraint('id'), + schema='data_manager' + ) + op.create_index(op.f('ix_data_manager_data_concepts_business_model_id'), 'data_concepts', ['business_model_id'], unique=False, schema='data_manager') + op.create_index(op.f('ix_data_manager_data_concepts_created_by'), 'data_concepts', ['created_by'], unique=False, schema='data_manager') + op.create_index(op.f('ix_data_manager_data_concepts_question_id'), 'data_concepts', ['question_id'], unique=False, schema='data_manager') + op.create_table('resource', + sa.Column('id', postgresql.UUID(as_uuid=True), nullable=False), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('created_by', postgresql.UUID(as_uuid=True), nullable=True), + sa.Column('original_name', sa.String(), nullable=True), + sa.Column('aliases', sa.ARRAY(sa.String()), nullable=True), + sa.Column('type', sa.String(), nullable=True), + sa.ForeignKeyConstraint(['created_by'], ['user.id'], ondelete='CASCADE'), + sa.PrimaryKeyConstraint('id'), + schema='data_manager' + ) + op.create_index(op.f('ix_data_manager_resource_created_by'), 'resource', ['created_by'], unique=False, schema='data_manager') + op.create_table('rules', + sa.Column('id', postgresql.UUID(as_uuid=True), nullable=False), + sa.Column('data_concept_id', postgresql.UUID(as_uuid=True), nullable=True), + sa.Column('type', sa.String(), nullable=True), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('created_by', postgresql.UUID(as_uuid=True), nullable=True), + sa.Column('autogenerated', sa.Boolean(), nullable=True), + sa.Column('config', sa.JSON(), nullable=True), + sa.ForeignKeyConstraint(['created_by'], ['user.id'], ondelete='CASCADE'), + sa.ForeignKeyConstraint(['data_concept_id'], ['data_manager.data_concepts.id'], ), + sa.PrimaryKeyConstraint('id'), + schema='data_manager' + ) + op.create_index(op.f('ix_data_manager_rules_created_by'), 'rules', ['created_by'], unique=False, schema='data_manager') + op.create_index(op.f('ix_data_manager_rules_data_concept_id'), 'rules', ['data_concept_id'], unique=False, schema='data_manager') + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_data_manager_rules_data_concept_id'), table_name='rules', schema='data_manager') + op.drop_index(op.f('ix_data_manager_rules_created_by'), table_name='rules', schema='data_manager') + op.drop_table('rules', schema='data_manager') + op.drop_index(op.f('ix_data_manager_resource_created_by'), table_name='resource', schema='data_manager') + op.drop_table('resource', schema='data_manager') + op.drop_index(op.f('ix_data_manager_data_concepts_question_id'), table_name='data_concepts', schema='data_manager') + op.drop_index(op.f('ix_data_manager_data_concepts_created_by'), table_name='data_concepts', schema='data_manager') + op.drop_index(op.f('ix_data_manager_data_concepts_business_model_id'), table_name='data_concepts', schema='data_manager') + op.drop_table('data_concepts', schema='data_manager') + op.drop_index(op.f('ix_data_manager_business_models_organization_id'), table_name='business_models', schema='data_manager') + op.drop_table('business_models', schema='data_manager') + # ### end Alembic commands ### diff --git a/submodules/model b/submodules/model index f04ba80d..df3c4f6f 160000 --- a/submodules/model +++ b/submodules/model @@ -1 +1 @@ -Subproject commit f04ba80dc3dabf21139e869b6763856ffea35436 +Subproject commit df3c4f6f2d36a755df2fc919c8e0428fa7c0624d From 38e1c8b47aaf300ed151f0e277bc340d5d895953 Mon Sep 17 00:00:00 2001 From: LennartSchmidtKern Date: Tue, 9 Jul 2024 14:36:19 +0200 Subject: [PATCH 3/4] update question assignment --- ... => 5061ecdd2c96_adding_business_model.py} | 20 ++++++++++++++++--- submodules/model | 2 +- 2 files changed, 18 insertions(+), 4 deletions(-) rename alembic/versions/{0b6ba72d9c7d_adding_business_model.py => 5061ecdd2c96_adding_business_model.py} (79%) diff --git a/alembic/versions/0b6ba72d9c7d_adding_business_model.py b/alembic/versions/5061ecdd2c96_adding_business_model.py similarity index 79% rename from alembic/versions/0b6ba72d9c7d_adding_business_model.py rename to alembic/versions/5061ecdd2c96_adding_business_model.py index 5caf22fc..3a6ea118 100644 --- a/alembic/versions/0b6ba72d9c7d_adding_business_model.py +++ b/alembic/versions/5061ecdd2c96_adding_business_model.py @@ -1,8 +1,8 @@ """adding business model -Revision ID: 0b6ba72d9c7d +Revision ID: 5061ecdd2c96 Revises: 3d0f69f9c513 -Create Date: 2024-07-09 09:42:46.527255 +Create Date: 2024-07-09 12:35:34.766587 """ from alembic import op @@ -10,7 +10,7 @@ from sqlalchemy.dialects import postgresql # revision identifiers, used by Alembic. -revision = '0b6ba72d9c7d' +revision = '5061ecdd2c96' down_revision = '3d0f69f9c513' branch_labels = None depends_on = None @@ -24,11 +24,22 @@ def upgrade(): sa.Column('name', sa.String(), nullable=True), sa.Column('description', sa.String(), nullable=True), sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('llm_config', sa.JSON(), nullable=True), sa.ForeignKeyConstraint(['organization_id'], ['organization.id'], ondelete='CASCADE'), sa.PrimaryKeyConstraint('id'), schema='data_manager' ) op.create_index(op.f('ix_data_manager_business_models_organization_id'), 'business_models', ['organization_id'], unique=False, schema='data_manager') + op.create_table('business_model_questions', + sa.Column('business_model_id', postgresql.UUID(as_uuid=True), nullable=False), + sa.Column('question_id', postgresql.UUID(as_uuid=True), nullable=False), + sa.ForeignKeyConstraint(['business_model_id'], ['data_manager.business_models.id'], ), + sa.ForeignKeyConstraint(['question_id'], ['data_manager.organization_questions.id'], ), + sa.PrimaryKeyConstraint('business_model_id', 'question_id'), + schema='data_manager' + ) + op.create_index(op.f('ix_data_manager_business_model_questions_business_model_id'), 'business_model_questions', ['business_model_id'], unique=False, schema='data_manager') + op.create_index(op.f('ix_data_manager_business_model_questions_question_id'), 'business_model_questions', ['question_id'], unique=False, schema='data_manager') op.create_table('data_concepts', sa.Column('id', postgresql.UUID(as_uuid=True), nullable=False), sa.Column('business_model_id', postgresql.UUID(as_uuid=True), nullable=True), @@ -86,6 +97,9 @@ def downgrade(): op.drop_index(op.f('ix_data_manager_data_concepts_created_by'), table_name='data_concepts', schema='data_manager') op.drop_index(op.f('ix_data_manager_data_concepts_business_model_id'), table_name='data_concepts', schema='data_manager') op.drop_table('data_concepts', schema='data_manager') + op.drop_index(op.f('ix_data_manager_business_model_questions_question_id'), table_name='business_model_questions', schema='data_manager') + op.drop_index(op.f('ix_data_manager_business_model_questions_business_model_id'), table_name='business_model_questions', schema='data_manager') + op.drop_table('business_model_questions', schema='data_manager') op.drop_index(op.f('ix_data_manager_business_models_organization_id'), table_name='business_models', schema='data_manager') op.drop_table('business_models', schema='data_manager') # ### end Alembic commands ### diff --git a/submodules/model b/submodules/model index df3c4f6f..362ec280 160000 --- a/submodules/model +++ b/submodules/model @@ -1 +1 @@ -Subproject commit df3c4f6f2d36a755df2fc919c8e0428fa7c0624d +Subproject commit 362ec28099afdde51f51a27c803e01d7f1d52246 From 7e289683bca220ef805f2e2fc57487a82a9367ef Mon Sep 17 00:00:00 2001 From: LennartSchmidtKern Date: Fri, 12 Jul 2024 10:43:44 +0200 Subject: [PATCH 4/4] model --- submodules/model | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/model b/submodules/model index 362ec280..444db70b 160000 --- a/submodules/model +++ b/submodules/model @@ -1 +1 @@ -Subproject commit 362ec28099afdde51f51a27c803e01d7f1d52246 +Subproject commit 444db70be61e9fa44e12731ffe78e3ca8df5556d