in src/dispatch/database/revisions/tenant/versions/2022-07-28_2ef7baab2916.py [0:0]
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.create_table(
"case_priority",
sa.Column("id", sa.Integer(), nullable=False),
sa.Column("name", sa.String(), nullable=True),
sa.Column("description", sa.String(), nullable=True),
sa.Column("color", sa.String(), nullable=True),
sa.Column("enabled", sa.Boolean(), nullable=True),
sa.Column("default", sa.Boolean(), nullable=True),
sa.Column("view_order", sa.Integer(), nullable=True),
sa.Column("search_vector", sqlalchemy_utils.types.ts_vector.TSVectorType(), nullable=True),
sa.Column("project_id", sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(["project_id"], ["project.id"], ondelete="CASCADE"),
sa.PrimaryKeyConstraint("id"),
sa.UniqueConstraint("name", "project_id"),
)
op.create_index(
"case_priority_search_vector_idx",
"case_priority",
["search_vector"],
unique=False,
postgresql_using="gin",
)
op.create_table(
"case_severity",
sa.Column("id", sa.Integer(), nullable=False),
sa.Column("name", sa.String(), nullable=True),
sa.Column("description", sa.String(), nullable=True),
sa.Column("color", sa.String(), nullable=True),
sa.Column("enabled", sa.Boolean(), nullable=True),
sa.Column("default", sa.Boolean(), nullable=True),
sa.Column("view_order", sa.Integer(), nullable=True),
sa.Column("search_vector", sqlalchemy_utils.types.ts_vector.TSVectorType(), nullable=True),
sa.Column("project_id", sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(["project_id"], ["project.id"], ondelete="CASCADE"),
sa.PrimaryKeyConstraint("id"),
sa.UniqueConstraint("name", "project_id"),
)
op.create_index(
"case_severity_search_vector_idx",
"case_severity",
["search_vector"],
unique=False,
postgresql_using="gin",
)
op.create_table(
"case_type",
sa.Column("id", sa.Integer(), nullable=False),
sa.Column("slug", sa.String(), nullable=True),
sa.Column("name", sa.String(), nullable=True),
sa.Column("description", sa.String(), nullable=True),
sa.Column("visibility", sa.String(), nullable=True),
sa.Column("default", sa.Boolean(), nullable=True),
sa.Column("enabled", sa.Boolean(), nullable=True),
sa.Column("exclude_from_metrics", sa.Boolean(), nullable=True),
sa.Column("search_vector", sqlalchemy_utils.types.ts_vector.TSVectorType(), nullable=True),
sa.Column("project_id", sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(["project_id"], ["project.id"], ondelete="CASCADE"),
sa.PrimaryKeyConstraint("id"),
sa.UniqueConstraint("name", "project_id"),
)
op.create_index(
"case_type_search_vector_idx",
"case_type",
["search_vector"],
unique=False,
postgresql_using="gin",
)
op.create_table(
"case",
sa.Column("id", sa.Integer(), nullable=False),
sa.Column("name", sa.String(), nullable=True),
sa.Column("title", sa.String(), nullable=False),
sa.Column("description", sa.String(), nullable=False),
sa.Column("resolution", sa.String(), nullable=True),
sa.Column("status", sa.String(), nullable=True),
sa.Column("visibility", sa.String(), nullable=False),
sa.Column("reported_at", sa.DateTime(), nullable=True),
sa.Column("stable_at", sa.DateTime(), nullable=True),
sa.Column("closed_at", sa.DateTime(), nullable=True),
sa.Column("search_vector", sqlalchemy_utils.types.ts_vector.TSVectorType(), nullable=True),
sa.Column("assignee_id", sa.Integer(), nullable=True),
sa.Column("duplicate_id", sa.Integer(), nullable=True),
sa.Column("source_id", sa.Integer(), nullable=True),
sa.Column("project_id", sa.Integer(), nullable=True),
sa.Column("updated_at", sa.DateTime(), nullable=True),
sa.Column("created_at", sa.DateTime(), nullable=True),
sa.ForeignKeyConstraint(
["assignee_id"],
["dispatch_core.dispatch_user.id"],
),
sa.ForeignKeyConstraint(
["duplicate_id"],
["case.id"],
),
sa.ForeignKeyConstraint(["project_id"], ["project.id"], ondelete="CASCADE"),
sa.ForeignKeyConstraint(
["source_id"],
["source.id"],
),
sa.PrimaryKeyConstraint("id"),
sa.UniqueConstraint("name", "project_id"),
)
op.create_index(
"case_search_vector_idx", "case", ["search_vector"], unique=False, postgresql_using="gin"
)
op.create_table(
"assoc_case_case_priority",
sa.Column("case_id", sa.Integer(), nullable=False),
sa.Column("case_priority_id", sa.Integer(), nullable=False),
sa.Column("created_at", sa.DateTime(), nullable=True),
sa.ForeignKeyConstraint(
["case_id"],
["case.id"],
),
sa.ForeignKeyConstraint(
["case_priority_id"],
["case_priority.id"],
),
sa.PrimaryKeyConstraint("case_id", "case_priority_id"),
)
op.create_table(
"assoc_case_case_severity",
sa.Column("case_id", sa.Integer(), nullable=False),
sa.Column("case_severity_id", sa.Integer(), nullable=False),
sa.Column("created_at", sa.DateTime(), nullable=True),
sa.ForeignKeyConstraint(
["case_id"],
["case.id"],
),
sa.ForeignKeyConstraint(
["case_severity_id"],
["case_severity.id"],
),
sa.PrimaryKeyConstraint("case_id", "case_severity_id"),
)
op.create_table(
"assoc_case_case_type",
sa.Column("case_id", sa.Integer(), nullable=False),
sa.Column("case_type_id", sa.Integer(), nullable=False),
sa.Column("created_at", sa.DateTime(), nullable=True),
sa.ForeignKeyConstraint(
["case_id"],
["case.id"],
),
sa.ForeignKeyConstraint(
["case_type_id"],
["case_type.id"],
),
sa.PrimaryKeyConstraint("case_id", "case_type_id"),
)
op.create_table(
"assoc_case_tags",
sa.Column("case_id", sa.Integer(), nullable=False),
sa.Column("tag_id", sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(["case_id"], ["case.id"], ondelete="CASCADE"),
sa.ForeignKeyConstraint(["tag_id"], ["tag.id"], ondelete="CASCADE"),
sa.PrimaryKeyConstraint("case_id", "tag_id"),
)
op.add_column("incident", sa.Column("case_id", sa.Integer(), nullable=True))
op.create_foreign_key(None, "incident", "case", ["case_id"], ["id"], ondelete="CASCADE")
op.add_column("ticket", sa.Column("case_id", sa.Integer(), nullable=True))
op.create_foreign_key(None, "ticket", "case", ["case_id"], ["id"], ondelete="CASCADE")