def upgrade()

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
    )