diff --git a/alembic/versions/7c527ac47b55_add_webpage_integration.py b/alembic/versions/7c527ac47b55_add_webpage_integration.py new file mode 100644 index 00000000..f7a2f5c6 --- /dev/null +++ b/alembic/versions/7c527ac47b55_add_webpage_integration.py @@ -0,0 +1,65 @@ +"""Add webpage integration + +Revision ID: 7c527ac47b55 +Revises: e3e108cd4b22 +Create Date: 2026-01-19 09:52:33.112555 + +""" +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision = '7c527ac47b55' +down_revision = 'e3e108cd4b22' +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('webpage', + sa.Column('id', postgresql.UUID(as_uuid=True), nullable=False), + sa.Column('created_by', postgresql.UUID(as_uuid=True), nullable=True), + sa.Column('updated_by', postgresql.UUID(as_uuid=True), nullable=True), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('updated_at', sa.DateTime(), nullable=True), + sa.Column('integration_id', postgresql.UUID(as_uuid=True), nullable=True), + sa.Column('running_id', sa.Integer(), nullable=True), + sa.Column('source', sa.String(), nullable=True), + sa.Column('minio_file_name', sa.String(), nullable=True), + sa.Column('error_message', sa.String(), nullable=True), + sa.Column('refinery_synced', sa.Boolean(), nullable=True), + sa.Column('title', sa.String(), nullable=True), + sa.Column('raw_markdown_content_hash', sa.String(), nullable=True), + sa.Column('etl_task_id', postgresql.UUID(as_uuid=True), nullable=True), + sa.Column('content', sa.String(), nullable=True), + sa.ForeignKeyConstraint(['created_by'], ['user.id'], ondelete='SET NULL'), + sa.ForeignKeyConstraint(['etl_task_id'], ['global.etl_task.id'], ondelete='CASCADE'), + sa.ForeignKeyConstraint(['integration_id'], ['cognition.integration.id'], ondelete='CASCADE'), + sa.ForeignKeyConstraint(['updated_by'], ['user.id'], ondelete='SET NULL'), + sa.PrimaryKeyConstraint('id'), + sa.UniqueConstraint('integration_id', 'source', 'etl_task_id', name='unique_webpage_source'), + schema='integration' + ) + op.create_index(op.f('ix_integration_webpage_created_by'), 'webpage', ['created_by'], unique=False, schema='integration') + op.create_index(op.f('ix_integration_webpage_etl_task_id'), 'webpage', ['etl_task_id'], unique=False, schema='integration') + op.create_index(op.f('ix_integration_webpage_integration_id'), 'webpage', ['integration_id'], unique=False, schema='integration') + op.create_index(op.f('ix_integration_webpage_running_id'), 'webpage', ['running_id'], unique=False, schema='integration') + op.create_index(op.f('ix_integration_webpage_source'), 'webpage', ['source'], unique=False, schema='integration') + op.create_index(op.f('ix_integration_webpage_updated_by'), 'webpage', ['updated_by'], unique=False, schema='integration') + op.add_column('sharepoint', sa.Column('refinery_synced', sa.Boolean(), nullable=True), schema='integration') + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('sharepoint', 'refinery_synced', schema='integration') + op.drop_index(op.f('ix_integration_webpage_updated_by'), table_name='webpage', schema='integration') + op.drop_index(op.f('ix_integration_webpage_source'), table_name='webpage', schema='integration') + op.drop_index(op.f('ix_integration_webpage_running_id'), table_name='webpage', schema='integration') + op.drop_index(op.f('ix_integration_webpage_integration_id'), table_name='webpage', schema='integration') + op.drop_index(op.f('ix_integration_webpage_etl_task_id'), table_name='webpage', schema='integration') + op.drop_index(op.f('ix_integration_webpage_created_by'), table_name='webpage', schema='integration') + op.drop_table('webpage', schema='integration') + # ### end Alembic commands ### diff --git a/submodules/model b/submodules/model index 1b4fda1f..b33218a7 160000 --- a/submodules/model +++ b/submodules/model @@ -1 +1 @@ -Subproject commit 1b4fda1f114a2d3209812374ee970ea2bd7ffc2e +Subproject commit b33218a7875af7c52f260c90fb0aed73346b21dc