"""'init' Revision ID: cea5b2a7fc1a Revises: Create Date: 2024-12-24 22:58:05.249701 """ import sqlalchemy as sa import sqlmodel.sql.sqltypes from alembic import op from sqlalchemy.dialects import mysql from app.models.common import AESEncryptedColumn # revision identifiers, used by Alembic. revision = "cea5b2a7fc1a" down_revision = None branch_labels = None depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.create_table( "confluence_sites", sa.Column("id", sa.Integer(), nullable=False), sa.Column( "deployment_type", sa.Enum("DATA_CENTER", "CLOUD", name="deploymenttype"), nullable=False, ), sa.Column("host", sqlmodel.sql.sqltypes.AutoString(length=128), nullable=False), sa.Column("name", sqlmodel.sql.sqltypes.AutoString(length=32), nullable=False), sa.Column("bot_user_id", sqlmodel.sql.sqltypes.AutoString(), nullable=False), sa.Column("bot_user_token", AESEncryptedColumn(), nullable=False), sa.Column("config", sa.JSON(), nullable=True), sa.PrimaryKeyConstraint("id"), ) op.create_table( "jira_sites", sa.Column("id", sa.Integer(), nullable=False), sa.Column( "deployment_type", sa.Enum("DATA_CENTER", "CLOUD", name="deploymenttype"), nullable=False, ), sa.Column("host", sqlmodel.sql.sqltypes.AutoString(length=128), nullable=False), sa.Column("name", sqlmodel.sql.sqltypes.AutoString(length=32), nullable=False), sa.Column("bot_user_id", sqlmodel.sql.sqltypes.AutoString(), nullable=False), sa.Column("bot_user_token", AESEncryptedColumn(), nullable=False), sa.Column("config", sa.JSON(), nullable=True), sa.PrimaryKeyConstraint("id"), ) op.create_table( "confluence_spaces", sa.Column("guid", sqlmodel.sql.sqltypes.AutoString(), nullable=False), sa.Column("id", sqlmodel.sql.sqltypes.AutoString(length=32), nullable=False), sa.Column("key", sqlmodel.sql.sqltypes.AutoString(length=32), nullable=False), sa.Column("name", sqlmodel.sql.sqltypes.AutoString(length=32), nullable=False), sa.Column("config", sa.JSON(), nullable=True), sa.Column("site_id", sa.Integer(), nullable=False), sa.ForeignKeyConstraint( ["site_id"], ["confluence_sites.id"], ), sa.PrimaryKeyConstraint("guid"), ) op.create_index( "uni_cs_on_site_id_space_id", "confluence_spaces", ["site_id", "id"], unique=True, ) op.create_index( "uni_cs_on_site_id_space_key", "confluence_spaces", ["site_id", "key"], unique=True, ) op.create_table( "jira_projects", sa.Column("guid", sqlmodel.sql.sqltypes.AutoString(), nullable=False), sa.Column("id", sqlmodel.sql.sqltypes.AutoString(length=32), nullable=False), sa.Column("key", sqlmodel.sql.sqltypes.AutoString(length=32), nullable=False), sa.Column("name", sqlmodel.sql.sqltypes.AutoString(length=32), nullable=False), sa.Column("config", sa.JSON(), nullable=True), sa.Column("site_id", sa.Integer(), nullable=False), sa.ForeignKeyConstraint( ["site_id"], ["jira_sites.id"], ), sa.PrimaryKeyConstraint("guid"), ) op.create_index( "uni_jp_on_site_id_project_id", "jira_projects", ["site_id", "id"], unique=True ) op.create_index( "uni_jp_on_site_id_project_key", "jira_projects", ["site_id", "key"], unique=True, ) op.create_table( "confluence_pages", sa.Column("guid", sqlmodel.sql.sqltypes.AutoString(), nullable=False), sa.Column("id", sqlmodel.sql.sqltypes.AutoString(length=32), nullable=False), sa.Column("version", sa.Integer(), nullable=False), sa.Column("link", sqlmodel.sql.sqltypes.AutoString(length=256), nullable=False), sa.Column( "status", sqlmodel.sql.sqltypes.AutoString(length=16), nullable=False ), sa.Column("author_id", sqlmodel.sql.sqltypes.AutoString(), nullable=False), sa.Column( "title", sqlmodel.sql.sqltypes.AutoString(length=256), nullable=False ), sa.Column("body", mysql.LONGTEXT(), nullable=False), sa.Column("labels", sa.JSON(), nullable=False), sa.Column( "created_at", sa.DateTime(), server_default=sa.text("now()"), nullable=True ), sa.Column( "space_guid", sqlmodel.sql.sqltypes.AutoString(length=32), nullable=False ), sa.Column( "space_id", sqlmodel.sql.sqltypes.AutoString(length=32), nullable=False ), sa.Column( "space_key", sqlmodel.sql.sqltypes.AutoString(length=32), nullable=False ), sa.Column("site_id", sa.Integer(), nullable=False), sa.ForeignKeyConstraint( ["site_id"], ["confluence_sites.id"], ), sa.ForeignKeyConstraint( ["space_guid"], ["confluence_spaces.guid"], ), sa.PrimaryKeyConstraint("guid"), ) op.create_index( "uni_cp_on_site_id_page_id", "confluence_pages", ["site_id", "id"], unique=True ) op.create_table( "jira_issues", sa.Column("guid", sqlmodel.sql.sqltypes.AutoString(), nullable=False), sa.Column("id", sqlmodel.sql.sqltypes.AutoString(length=32), nullable=False), sa.Column("key", sqlmodel.sql.sqltypes.AutoString(length=32), nullable=False), sa.Column("link", sqlmodel.sql.sqltypes.AutoString(length=128), nullable=False), sa.Column( "summary", sqlmodel.sql.sqltypes.AutoString(length=512), nullable=False ), sa.Column( "kb_issue_case_link", sqlmodel.sql.sqltypes.AutoString(length=512), nullable=True, ), sa.Column("fields", sa.JSON(), nullable=True), sa.Column( "project_guid", sqlmodel.sql.sqltypes.AutoString(length=32), nullable=False ), sa.Column( "project_id", sqlmodel.sql.sqltypes.AutoString(length=32), nullable=False ), sa.Column( "project_key", sqlmodel.sql.sqltypes.AutoString(length=32), nullable=False ), sa.Column("site_id", sa.Integer(), nullable=False), sa.ForeignKeyConstraint( ["project_guid"], ["jira_projects.guid"], ), sa.ForeignKeyConstraint( ["site_id"], ["jira_sites.id"], ), sa.PrimaryKeyConstraint("guid"), ) op.create_index( "uni_ji_on_site_id_issue_key", "jira_issues", ["site_id", "key"], unique=True ) op.create_table( "kb_generate_tasks", sa.Column("id", sa.Uuid(), nullable=False), sa.Column("config", sa.JSON(), nullable=False), sa.Column( "jira_issue_guid", sqlmodel.sql.sqltypes.AutoString(length=32), nullable=False, ), sa.Column("support_ticket", sa.JSON(), nullable=True), sa.Column("kb_issue_case", sa.JSON(), nullable=True), sa.Column( "confluence_page_guid", sqlmodel.sql.sqltypes.AutoString(length=32), nullable=True, ), sa.Column("result", sa.Text(), nullable=True), sa.Column( "trace_link", sqlmodel.sql.sqltypes.AutoString(length=512), nullable=True ), sa.Column( "created_at", sa.DateTime(), server_default=sa.text("now()"), nullable=True ), sa.Column("started_at", sa.DateTime(), nullable=True), sa.Column("ended_at", sa.DateTime(), nullable=True), sa.ForeignKeyConstraint( ["confluence_page_guid"], ["confluence_pages.guid"], ), sa.ForeignKeyConstraint( ["jira_issue_guid"], ["jira_issues.guid"], ), sa.PrimaryKeyConstraint("id"), ) # ### end Alembic commands ### def downgrade(): # ### commands auto generated by Alembic - please adjust! ### op.drop_table("kb_generate_tasks") op.drop_index("uni_ji_on_site_id_issue_key", table_name="jira_issues") op.drop_table("jira_issues") op.drop_index("uni_cp_on_site_id_page_id", table_name="confluence_pages") op.drop_table("confluence_pages") op.drop_index("uni_jp_on_site_id_project_key", table_name="jira_projects") op.drop_index("uni_jp_on_site_id_project_id", table_name="jira_projects") op.drop_table("jira_projects") op.drop_index("uni_cs_on_site_id_space_key", table_name="confluence_spaces") op.drop_index("uni_cs_on_site_id_space_id", table_name="confluence_spaces") op.drop_table("confluence_spaces") op.drop_table("jira_sites") op.drop_table("confluence_sites") # ### end Alembic commands ###