158 lines
6.8 KiB
Python
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 ###
|