Some checks failed
Python Quality & Tests / Lint, Typecheck, and Test (push) Failing after 31s
255 lines
9.2 KiB
Python
255 lines
9.2 KiB
Python
"""
|
|
|
|
Revision ID: d70663890e9d
|
|
Revises:
|
|
Create Date: 2026-04-16 13:17:38.973404
|
|
|
|
"""
|
|
|
|
from typing import Sequence, Union
|
|
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision: str = "d70663890e9d"
|
|
down_revision: Union[str, Sequence[str], None] = None
|
|
branch_labels: Union[str, Sequence[str], None] = None
|
|
depends_on: Union[str, Sequence[str], None] = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
"""Upgrade schema."""
|
|
# ### commands auto generated by Alembic - please adjust! ###
|
|
op.create_table(
|
|
"product",
|
|
sa.Column("name", sa.String(), nullable=False),
|
|
sa.Column("protein", sa.Float(), nullable=False),
|
|
sa.Column("carb", sa.Float(), nullable=False),
|
|
sa.Column("fat", sa.Float(), nullable=False),
|
|
sa.Column("fiber", sa.Float(), nullable=False),
|
|
sa.Column("calories", sa.Float(), nullable=False),
|
|
sa.Column("barcode", sa.String(), nullable=True),
|
|
sa.Column("id", sa.Integer(), nullable=False),
|
|
sa.Column("version", sa.Integer(), nullable=False),
|
|
sa.Column("created_at", sa.DateTime(), nullable=False),
|
|
sa.Column("last_changed", sa.DateTime(), nullable=False),
|
|
sa.Column("deleted_at", sa.DateTime(), nullable=True),
|
|
sa.PrimaryKeyConstraint("id"),
|
|
)
|
|
op.create_index(
|
|
"ix_product_barcode",
|
|
"product",
|
|
["barcode"],
|
|
unique=True,
|
|
postgresql_where=sa.text("deleted_at IS NULL"),
|
|
sqlite_where=sa.text("deleted_at IS NULL"),
|
|
)
|
|
op.create_table(
|
|
"user",
|
|
sa.Column("username", sa.String(), nullable=False),
|
|
sa.Column("id", sa.Integer(), nullable=False),
|
|
sa.Column("version", sa.Integer(), nullable=False),
|
|
sa.Column("created_at", sa.DateTime(), nullable=False),
|
|
sa.Column("last_changed", sa.DateTime(), nullable=False),
|
|
sa.Column("hashed_password", sa.String(), nullable=False),
|
|
sa.Column("deleted_at", sa.DateTime(), nullable=True),
|
|
sa.PrimaryKeyConstraint("id"),
|
|
sa.UniqueConstraint("username"),
|
|
)
|
|
op.create_table(
|
|
"diary",
|
|
sa.Column("date", sa.Date(), nullable=False),
|
|
sa.Column("user_id", sa.Integer(), nullable=False),
|
|
sa.Column("protein_goal", sa.Float(), nullable=False),
|
|
sa.Column("carb_goal", sa.Float(), nullable=False),
|
|
sa.Column("fat_goal", sa.Float(), nullable=False),
|
|
sa.Column("fiber_goal", sa.Float(), nullable=False),
|
|
sa.Column("calories_goal", sa.Float(), nullable=False),
|
|
sa.Column("id", sa.Integer(), nullable=False),
|
|
sa.Column("version", sa.Integer(), nullable=False),
|
|
sa.Column("created_at", sa.DateTime(), nullable=False),
|
|
sa.Column("last_changed", sa.DateTime(), nullable=False),
|
|
sa.ForeignKeyConstraint(
|
|
["user_id"],
|
|
["user.id"],
|
|
),
|
|
sa.PrimaryKeyConstraint("id"),
|
|
sa.UniqueConstraint("user_id", "date"),
|
|
)
|
|
op.create_table(
|
|
"preset",
|
|
sa.Column("name", sa.String(), nullable=False),
|
|
sa.Column("user_id", sa.Integer(), nullable=False),
|
|
sa.Column("id", sa.Integer(), nullable=False),
|
|
sa.Column("version", sa.Integer(), nullable=False),
|
|
sa.Column("created_at", sa.DateTime(), nullable=False),
|
|
sa.Column("last_changed", sa.DateTime(), nullable=False),
|
|
sa.ForeignKeyConstraint(
|
|
["user_id"],
|
|
["user.id"],
|
|
),
|
|
sa.PrimaryKeyConstraint("id"),
|
|
)
|
|
op.create_index(
|
|
op.f("ix_preset_user_id"), "preset", ["user_id"], unique=False
|
|
)
|
|
op.create_table(
|
|
"userproductusage",
|
|
sa.Column("product_id", sa.Integer(), nullable=False),
|
|
sa.Column("user_id", sa.Integer(), nullable=False),
|
|
sa.Column("count", sa.Integer(), nullable=False),
|
|
sa.Column("id", sa.Integer(), nullable=False),
|
|
sa.Column("version", sa.Integer(), nullable=False),
|
|
sa.Column("created_at", sa.DateTime(), nullable=False),
|
|
sa.Column("last_changed", sa.DateTime(), nullable=False),
|
|
sa.ForeignKeyConstraint(
|
|
["product_id"],
|
|
["product.id"],
|
|
),
|
|
sa.ForeignKeyConstraint(
|
|
["user_id"],
|
|
["user.id"],
|
|
),
|
|
sa.PrimaryKeyConstraint("id"),
|
|
sa.UniqueConstraint("user_id", "product_id"),
|
|
)
|
|
op.create_index(
|
|
"ix_userproductusage_product_user",
|
|
"userproductusage",
|
|
["product_id", "user_id"],
|
|
unique=False,
|
|
)
|
|
op.create_index(
|
|
op.f("ix_userproductusage_user_id"),
|
|
"userproductusage",
|
|
["user_id"],
|
|
unique=False,
|
|
)
|
|
op.create_table(
|
|
"usersettings",
|
|
sa.Column("user_id", sa.Integer(), nullable=False),
|
|
sa.Column("protein_goal", sa.Float(), nullable=False),
|
|
sa.Column("carb_goal", sa.Float(), nullable=False),
|
|
sa.Column("fat_goal", sa.Float(), nullable=False),
|
|
sa.Column("fiber_goal", sa.Float(), nullable=False),
|
|
sa.Column("calories_goal", sa.Float(), nullable=False),
|
|
sa.Column("id", sa.Integer(), nullable=False),
|
|
sa.Column("version", sa.Integer(), nullable=False),
|
|
sa.Column("created_at", sa.DateTime(), nullable=False),
|
|
sa.Column("last_changed", sa.DateTime(), nullable=False),
|
|
sa.ForeignKeyConstraint(
|
|
["user_id"],
|
|
["user.id"],
|
|
),
|
|
sa.PrimaryKeyConstraint("id"),
|
|
sa.UniqueConstraint("user_id"),
|
|
)
|
|
op.create_table(
|
|
"meal",
|
|
sa.Column("name", sa.String(), nullable=False),
|
|
sa.Column("order", sa.Integer(), nullable=False),
|
|
sa.Column("diary_id", sa.Integer(), nullable=False),
|
|
sa.Column("id", sa.Integer(), nullable=False),
|
|
sa.Column("version", sa.Integer(), nullable=False),
|
|
sa.Column("created_at", sa.DateTime(), nullable=False),
|
|
sa.Column("last_changed", sa.DateTime(), nullable=False),
|
|
sa.ForeignKeyConstraint(
|
|
["diary_id"],
|
|
["diary.id"],
|
|
),
|
|
sa.PrimaryKeyConstraint("id"),
|
|
)
|
|
op.create_index(
|
|
op.f("ix_meal_diary_id"), "meal", ["diary_id"], unique=False
|
|
)
|
|
op.create_table(
|
|
"presetentry",
|
|
sa.Column("grams", sa.Float(), nullable=False),
|
|
sa.Column("product_id", sa.Integer(), nullable=False),
|
|
sa.Column("preset_id", sa.Integer(), nullable=False),
|
|
sa.Column("id", sa.Integer(), nullable=False),
|
|
sa.Column("version", sa.Integer(), nullable=False),
|
|
sa.Column("created_at", sa.DateTime(), nullable=False),
|
|
sa.Column("last_changed", sa.DateTime(), nullable=False),
|
|
sa.ForeignKeyConstraint(
|
|
["preset_id"],
|
|
["preset.id"],
|
|
),
|
|
sa.ForeignKeyConstraint(
|
|
["product_id"],
|
|
["product.id"],
|
|
),
|
|
sa.PrimaryKeyConstraint("id"),
|
|
)
|
|
op.create_index(
|
|
op.f("ix_presetentry_preset_id"),
|
|
"presetentry",
|
|
["preset_id"],
|
|
unique=False,
|
|
)
|
|
op.create_index(
|
|
op.f("ix_presetentry_product_id"),
|
|
"presetentry",
|
|
["product_id"],
|
|
unique=False,
|
|
)
|
|
op.create_table(
|
|
"entry",
|
|
sa.Column("grams", sa.Float(), nullable=False),
|
|
sa.Column("product_id", sa.Integer(), nullable=False),
|
|
sa.Column("meal_id", sa.Integer(), nullable=False),
|
|
sa.Column("id", sa.Integer(), nullable=False),
|
|
sa.Column("version", sa.Integer(), nullable=False),
|
|
sa.Column("created_at", sa.DateTime(), nullable=False),
|
|
sa.Column("last_changed", sa.DateTime(), nullable=False),
|
|
sa.ForeignKeyConstraint(
|
|
["meal_id"],
|
|
["meal.id"],
|
|
),
|
|
sa.ForeignKeyConstraint(
|
|
["product_id"],
|
|
["product.id"],
|
|
),
|
|
sa.PrimaryKeyConstraint("id"),
|
|
)
|
|
op.create_index(
|
|
op.f("ix_entry_meal_id"), "entry", ["meal_id"], unique=False
|
|
)
|
|
op.create_index(
|
|
op.f("ix_entry_product_id"), "entry", ["product_id"], unique=False
|
|
)
|
|
# ### end Alembic commands ###
|
|
|
|
|
|
def downgrade() -> None:
|
|
"""Downgrade schema."""
|
|
# ### commands auto generated by Alembic - please adjust! ###
|
|
op.drop_index(op.f("ix_entry_product_id"), table_name="entry")
|
|
op.drop_index(op.f("ix_entry_meal_id"), table_name="entry")
|
|
op.drop_table("entry")
|
|
op.drop_index(op.f("ix_presetentry_product_id"), table_name="presetentry")
|
|
op.drop_index(op.f("ix_presetentry_preset_id"), table_name="presetentry")
|
|
op.drop_table("presetentry")
|
|
op.drop_index(op.f("ix_meal_diary_id"), table_name="meal")
|
|
op.drop_table("meal")
|
|
op.drop_table("usersettings")
|
|
op.drop_index(
|
|
op.f("ix_userproductusage_user_id"), table_name="userproductusage"
|
|
)
|
|
op.drop_index(
|
|
"ix_userproductusage_product_user", table_name="userproductusage"
|
|
)
|
|
op.drop_table("userproductusage")
|
|
op.drop_index(op.f("ix_preset_user_id"), table_name="preset")
|
|
op.drop_table("preset")
|
|
op.drop_table("diary")
|
|
op.drop_table("user")
|
|
op.drop_index(
|
|
"ix_product_barcode",
|
|
table_name="product",
|
|
postgresql_where=sa.text("deleted_at IS NULL"),
|
|
sqlite_where=sa.text("deleted_at IS NULL"),
|
|
)
|
|
op.drop_table("product")
|
|
# ### end Alembic commands ###
|