in taxonomy/alembic/versions/bdea8a93cafe_first_revision.py [0:0]
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.execute("CREATE EXTENSION IF NOT EXISTS ltree")
op.create_table(
"taxonomy",
sa.Column("id", sa.VARCHAR(), nullable=False),
sa.Column("name", sa.VARCHAR(), nullable=False),
sa.Column("version", sa.Integer(), nullable=False),
sa.Column("tenant", sa.VARCHAR(), nullable=True),
sa.Column("category_id", sa.VARCHAR(), nullable=False),
sa.Column("latest", sa.Boolean(), nullable=False),
sa.PrimaryKeyConstraint("id", "version"),
)
op.create_table(
"association_taxonomy_job",
sa.Column("taxonomy_id", sa.VARCHAR(), nullable=True),
sa.Column("taxonomy_version", sa.Integer(), nullable=True),
sa.Column("job_id", sa.VARCHAR(), nullable=False),
sa.ForeignKeyConstraint(
["taxonomy_id", "taxonomy_version"],
["taxonomy.id", "taxonomy.version"],
),
sa.PrimaryKeyConstraint("job_id"),
)
op.create_table(
"taxon",
sa.Column("id", sa.VARCHAR(), nullable=False),
sa.Column("name", sa.VARCHAR(), nullable=False),
sa.Column("tenant", sa.VARCHAR(), nullable=True),
sa.Column("taxonomy_id", sa.VARCHAR(), nullable=True),
sa.Column("taxonomy_version", sa.Integer(), nullable=True),
sa.Column("parent_id", sa.VARCHAR(), nullable=True),
sa.Column(
"tree", sqlalchemy_utils.types.ltree.LtreeType(), nullable=True
),
sa.ForeignKeyConstraint(
["parent_id"], ["taxon.id"], ondelete="cascade"
),
sa.ForeignKeyConstraint(
["taxonomy_id", "taxonomy_version"],
["taxonomy.id", "taxonomy.version"],
),
sa.PrimaryKeyConstraint("id"),
)
op.create_index(
"index_taxon_tree",
"taxon",
["tree"],
unique=False,
postgresql_using="gist",
)
op.create_index(
op.f("ix_taxon_parent_id"), "taxon", ["parent_id"], unique=False
)