tripweb/backend/trip/alembic/versions/b2ed4bf9c1b2_init.py
2025-08-05 19:01:20 +02:00

158 lines
6.8 KiB
Python

"""Init
Revision ID: b2ed4bf9c1b2
Revises:
Create Date: 2025-08-01 20:14:29.749521
"""
import sqlalchemy as sa
import sqlmodel.sql.sqltypes
from alembic import op
# revision identifiers, used by Alembic.
revision = "b2ed4bf9c1b2"
down_revision = None
branch_labels = None
depends_on = None
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.create_table(
"user",
sa.Column("mapLat", sa.Float(), nullable=False),
sa.Column("mapLng", sa.Float(), nullable=False),
sa.Column("currency", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.Column("do_not_display", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.Column("username", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.Column("password", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.PrimaryKeyConstraint("username", name=op.f("pk_user")),
)
op.create_table(
"image",
sa.Column("filename", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.Column("id", sa.Integer(), nullable=False),
sa.Column("user", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.ForeignKeyConstraint(
["user"], ["user.username"], name=op.f("fk_image_user_user"), ondelete="CASCADE"
),
sa.PrimaryKeyConstraint("id", name=op.f("pk_image")),
)
op.create_table(
"category",
sa.Column("name", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.Column("id", sa.Integer(), nullable=False),
sa.Column("image_id", sa.Integer(), nullable=True),
sa.Column("user", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.ForeignKeyConstraint(
["image_id"], ["image.id"], name=op.f("fk_category_image_id_image"), ondelete="CASCADE"
),
sa.ForeignKeyConstraint(
["user"], ["user.username"], name=op.f("fk_category_user_user"), ondelete="CASCADE"
),
sa.PrimaryKeyConstraint("id", name=op.f("pk_category")),
)
op.create_table(
"trip",
sa.Column("name", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.Column("archived", sa.Boolean(), nullable=True),
sa.Column("id", sa.Integer(), nullable=False),
sa.Column("image_id", sa.Integer(), nullable=True),
sa.Column("user", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.ForeignKeyConstraint(
["image_id"], ["image.id"], name=op.f("fk_trip_image_id_image"), ondelete="CASCADE"
),
sa.ForeignKeyConstraint(
["user"], ["user.username"], name=op.f("fk_trip_user_user"), ondelete="CASCADE"
),
sa.PrimaryKeyConstraint("id", name=op.f("pk_trip")),
)
op.create_table(
"place",
sa.Column("name", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.Column("lat", sa.Float(), nullable=False),
sa.Column("lng", sa.Float(), nullable=False),
sa.Column("place", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.Column("allowdog", sa.Boolean(), nullable=True),
sa.Column("description", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
sa.Column("price", sa.Float(), nullable=True),
sa.Column("duration", sa.Integer(), nullable=True),
sa.Column("favorite", sa.Boolean(), nullable=True),
sa.Column("visited", sa.Boolean(), nullable=True),
sa.Column("gpx", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
sa.Column("id", sa.Integer(), nullable=False),
sa.Column("cdate", sa.Date(), nullable=False),
sa.Column("user", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.Column("image_id", sa.Integer(), nullable=True),
sa.Column("category_id", sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(
["category_id"], ["category.id"], name=op.f("fk_place_category_id_category")
),
sa.ForeignKeyConstraint(
["image_id"], ["image.id"], name=op.f("fk_place_image_id_image"), ondelete="CASCADE"
),
sa.ForeignKeyConstraint(
["user"], ["user.username"], name=op.f("fk_place_user_user"), ondelete="CASCADE"
),
sa.PrimaryKeyConstraint("id", name=op.f("pk_place")),
)
op.create_table(
"tripday",
sa.Column("label", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.Column("id", sa.Integer(), nullable=False),
sa.Column("user", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.Column("trip_id", sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(
["trip_id"], ["trip.id"], name=op.f("fk_tripday_trip_id_trip"), ondelete="CASCADE"
),
sa.ForeignKeyConstraint(
["user"], ["user.username"], name=op.f("fk_tripday_user_user"), ondelete="CASCADE"
),
sa.PrimaryKeyConstraint("id", name=op.f("pk_tripday")),
)
op.create_table(
"tripitem",
sa.Column("time", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.Column("text", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.Column("comment", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
sa.Column("lat", sa.Float(), nullable=True),
sa.Column("price", sa.Float(), nullable=True),
sa.Column("lng", sa.Float(), nullable=True),
sa.Column(
"status",
sa.Enum("PENDING", "CONFIRMED", "CONSTRAINT", "OPTIONAL", name="tripitemstatusenum"),
nullable=True,
),
sa.Column("id", sa.Integer(), nullable=False),
sa.Column("place_id", sa.Integer(), nullable=True),
sa.Column("day_id", sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(
["day_id"], ["tripday.id"], name=op.f("fk_tripitem_day_id_tripday"), ondelete="CASCADE"
),
sa.ForeignKeyConstraint(["place_id"], ["place.id"], name=op.f("fk_tripitem_place_id_place")),
sa.PrimaryKeyConstraint("id", name=op.f("pk_tripitem")),
)
op.create_table(
"tripplacelink",
sa.Column("trip_id", sa.Integer(), nullable=False),
sa.Column("place_id", sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(["place_id"], ["place.id"], name=op.f("fk_tripplacelink_place_id_place")),
sa.ForeignKeyConstraint(["trip_id"], ["trip.id"], name=op.f("fk_tripplacelink_trip_id_trip")),
sa.PrimaryKeyConstraint("trip_id", "place_id", name=op.f("pk_tripplacelink")),
)
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_table("tripplacelink")
op.drop_table("tripitem")
op.drop_table("tripday")
op.drop_table("place")
op.drop_table("trip")
op.drop_table("category")
op.drop_table("image")
op.drop_table("user")
# ### end Alembic commands ###