barker/barker/alembic/versions/8c06ac60d125_initial_commit.py

699 lines
31 KiB
Python

"""Initial Commit
Revision ID: 8c06ac60d125
Revises:
Create Date: 2020-06-04 08:14:34.132248
"""
import sqlalchemy as sa
from alembic import op
from barker.models.customer import Customer
from barker.models.db_setting import DbSetting
from barker.models.modifier_category import ModifierCategory
from barker.models.permission import Permission
from barker.models.section import Section
from barker.models.user import User # noqa: F401
from sqlalchemy import column, table
from sqlalchemy.dialects import postgresql
# revision identifiers, used by Alembic.
revision = "8c06ac60d125"
down_revision = None
branch_labels = None
depends_on = None
def settle_options():
so = table(
"settle_options",
column("id", sa.Integer()),
column("name", sa.Unicode(length=255)),
column("show_in_choices", sa.Boolean()),
column("display_group", sa.Integer()),
column("is_print", sa.Boolean()),
)
op.execute(
so.insert().values(
id=1,
name="Unsettled",
show_in_choices=False,
display_group=1,
is_print=True,
)
)
op.execute(so.insert().values(id=2, name="Cash", show_in_choices=True, display_group=2, is_print=False))
op.execute(
so.insert().values(
id=3,
name="Credit Card",
show_in_choices=True,
display_group=2,
is_print=True,
)
)
op.execute(so.insert().values(id=4, name="No Charge", show_in_choices=True, display_group=3, is_print=True))
op.execute(
so.insert().values(
id=5,
name="Bill To Company",
show_in_choices=True,
display_group=2,
is_print=True,
)
)
op.execute(so.insert().values(id=6, name="Tip", show_in_choices=True, display_group=2, is_print=True))
op.execute(
so.insert().values(
id=7,
name="Round Off",
show_in_choices=False,
display_group=1,
is_print=False,
)
)
op.execute(so.insert().values(id=8, name="Amount", show_in_choices=False, display_group=1, is_print=False))
op.execute(so.insert().values(id=9, name="Void", show_in_choices=True, display_group=1, is_print=True))
op.execute(so.insert().values(id=10, name="Staff", show_in_choices=True, display_group=4, is_print=True))
op.execute(
Customer.__table__.insert().values(
id="2c716f4b-0736-429a-ad51-610d7c47cb5e",
name="Cash",
phone="",
address="",
)
)
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.create_table(
"customers",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("name", sa.Unicode(length=255), nullable=False),
sa.Column("phone", sa.Unicode(length=255), nullable=False),
sa.Column("address", sa.Unicode(length=255), nullable=True),
sa.PrimaryKeyConstraint("id", name=op.f("pk_customers")),
sa.UniqueConstraint("phone", name=op.f("uq_customers_phone")),
)
op.create_table(
"menu_categories",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("name", sa.Unicode(length=255), nullable=False),
sa.Column("is_active", sa.Boolean(), nullable=False),
sa.Column("is_fixture", sa.Boolean(), nullable=False),
sa.Column("sort_order", sa.Integer(), nullable=False),
sa.PrimaryKeyConstraint("id", name=op.f("pk_menu_categories")),
sa.UniqueConstraint("name", name=op.f("uq_menu_categories_name")),
)
op.create_table(
"modifier_categories",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("name", sa.Unicode(length=255), nullable=False),
sa.Column("minimum", sa.Integer(), nullable=False),
sa.Column("maximum", sa.Integer(), nullable=True),
sa.Column("is_active", sa.Boolean(), nullable=False),
sa.Column("sort_order", sa.Integer(), nullable=False),
sa.PrimaryKeyConstraint("id", name=op.f("pk_modifier_categories")),
sa.UniqueConstraint("name", name=op.f("uq_modifier_categories_name")),
)
op.create_table(
"permissions",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("name", sa.Unicode(length=255), nullable=True),
sa.PrimaryKeyConstraint("id", name=op.f("pk_permissions")),
sa.UniqueConstraint("name", name=op.f("uq_permissions_name")),
)
op.create_table(
"printers",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("name", sa.Unicode(length=255), nullable=False),
sa.Column("address", sa.Unicode(length=255), nullable=False),
sa.Column("cut_code", sa.Unicode(length=255), nullable=False),
sa.PrimaryKeyConstraint("id", name=op.f("pk_printers")),
sa.UniqueConstraint("name", name=op.f("uq_printers_name")),
)
op.create_table(
"roles",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("name", sa.Unicode(length=255), nullable=True),
sa.PrimaryKeyConstraint("id", name=op.f("pk_roles")),
sa.UniqueConstraint("name", name=op.f("uq_roles_name")),
)
op.create_table(
"sections",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("name", sa.Unicode(length=255), nullable=False),
sa.Column("is_fixture", sa.Boolean(), nullable=False),
sa.PrimaryKeyConstraint("id", name=op.f("pk_sections")),
sa.UniqueConstraint("name", name=op.f("uq_sections_name")),
)
op.create_table(
"settings",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("name", sa.Unicode(length=255), nullable=False),
sa.Column("data", sa.JSON(), nullable=True),
sa.PrimaryKeyConstraint("id", name=op.f("pk_settings")),
sa.UniqueConstraint("name", name=op.f("uq_settings_name")),
)
op.create_table(
"settle_options",
sa.Column("id", sa.Integer(), nullable=False),
sa.Column("name", sa.Unicode(length=255), nullable=False),
sa.Column("show_in_choices", sa.Boolean(), nullable=False),
sa.Column("display_group", sa.Integer(), nullable=False),
sa.Column("is_print", sa.Boolean(), nullable=False),
sa.PrimaryKeyConstraint("id", name=op.f("pk_settle_options")),
sa.UniqueConstraint("name", name=op.f("uq_settle_options_name")),
)
op.create_table(
"taxes",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("name", sa.Unicode(length=255), nullable=False),
sa.Column("rate", sa.Numeric(precision=15, scale=5), nullable=False),
sa.Column("is_fixture", sa.Boolean(), nullable=False),
sa.PrimaryKeyConstraint("id", name=op.f("pk_taxes")),
sa.UniqueConstraint("name", name=op.f("uq_taxes_name")),
)
op.create_table(
"users",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("name", sa.Unicode(length=255), nullable=False),
sa.Column("password", sa.Unicode(length=60), nullable=False),
sa.Column("locked_out", sa.Boolean(), nullable=False),
sa.PrimaryKeyConstraint("id", name=op.f("pk_users")),
sa.UniqueConstraint("name", name=op.f("uq_users_name")),
)
op.create_table(
"devices",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("name", sa.Unicode(length=255), nullable=False),
sa.Column("section_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.Column("enabled", sa.Boolean(), nullable=False),
sa.Column("creation_date", sa.DateTime(), nullable=False),
sa.ForeignKeyConstraint(["section_id"], ["sections.id"], name=op.f("fk_devices_section_id_sections")),
sa.PrimaryKeyConstraint("id", name=op.f("pk_devices")),
sa.UniqueConstraint("name", name=op.f("uq_devices_name")),
)
op.create_table(
"login_history",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("user_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.Column("device_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.Column("date", sa.DateTime(), nullable=False),
sa.ForeignKeyConstraint(["device_id"], ["devices.id"], name=op.f("fk_login_history_device_id_devices")),
sa.ForeignKeyConstraint(["user_id"], ["users.id"], name=op.f("fk_login_history_user_id_users")),
sa.PrimaryKeyConstraint("id", name=op.f("pk_login_history")),
sa.UniqueConstraint("user_id", "device_id", "date", name=op.f("uq_login_history_user_id")),
)
op.create_table(
"food_tables",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("name", sa.Unicode(length=255), nullable=False),
sa.Column("seats", sa.Integer(), nullable=False),
sa.Column("section_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.Column("is_active", sa.Boolean(), nullable=False),
sa.Column("sort_order", sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(
["section_id"],
["sections.id"],
name=op.f("fk_food_tables_section_id_sections"),
),
sa.PrimaryKeyConstraint("id", name=op.f("pk_food_tables")),
sa.UniqueConstraint("name", name=op.f("uq_food_tables_name")),
)
op.create_table(
"guest_book",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("customer_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.Column("pax", sa.Integer, nullable=False),
sa.Column("creation_date", sa.DateTime(), nullable=False),
sa.ForeignKeyConstraint(
["customer_id"],
["customers.id"],
name=op.f("fk_guest_book_customer_id_customers"),
),
sa.PrimaryKeyConstraint("id", name=op.f("pk_guest_book")),
)
op.create_table(
"modifiers",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("name", sa.Unicode(length=255), nullable=False),
sa.Column("show_in_bill", sa.Boolean(), nullable=False),
sa.Column("price", sa.Numeric(precision=15, scale=2), nullable=False),
sa.Column("is_active", sa.Boolean(), nullable=False),
sa.Column("modifier_category_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.ForeignKeyConstraint(
["modifier_category_id"],
["modifier_categories.id"],
name=op.f("fk_modifiers_modifier_category_id_modifier_categories"),
),
sa.PrimaryKeyConstraint("id", name=op.f("pk_modifiers")),
sa.UniqueConstraint("name", name=op.f("uq_modifiers_name")),
)
op.create_table(
"role_permissions",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("permission_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.Column("role_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.ForeignKeyConstraint(
["permission_id"],
["permissions.id"],
name=op.f("fk_role_permissions_permission_id_permissions"),
),
sa.ForeignKeyConstraint(["role_id"], ["roles.id"], name=op.f("fk_role_permissions_role_id_roles")),
sa.PrimaryKeyConstraint("id", name=op.f("pk_role_permissions")),
sa.UniqueConstraint("permission_id", "role_id", name=op.f("uq_role_permissions_permission_id")),
)
op.create_table(
"sale_categories",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("discount_limit", sa.Numeric(precision=15, scale=5), nullable=False),
sa.Column("name", sa.Unicode(length=255), nullable=False),
sa.Column("tax_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.ForeignKeyConstraint(["tax_id"], ["taxes.id"], name=op.f("fk_sale_categories_tax_id_taxes")),
sa.PrimaryKeyConstraint("id", name=op.f("pk_sale_categories")),
sa.UniqueConstraint("name", name=op.f("uq_sale_categories_name")),
)
op.create_table(
"customer_discount",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("customer_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.Column("sale_category_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.Column("discount", sa.Numeric(precision=15, scale=5), nullable=False),
sa.ForeignKeyConstraint(
["customer_id"], ["customers.id"], name=op.f("fk_customer_discount_customer_id_customers")
),
sa.ForeignKeyConstraint(
["sale_category_id"],
["sale_categories.id"],
name=op.f("fk_customer_discount_sale_category_id_sale_categories"),
),
sa.PrimaryKeyConstraint("id", name=op.f("pk_customer_discount")),
sa.UniqueConstraint("customer_id", "sale_category_id", name=op.f("uq_customer_discount_customer_id")),
)
op.create_table(
"section_printers",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("menu_category_id", postgresql.UUID(as_uuid=True), nullable=True),
sa.Column("section_id", postgresql.UUID(as_uuid=True), nullable=True),
sa.Column("section_name", sa.Unicode(length=255), nullable=False),
sa.Column("printer_id", postgresql.UUID(as_uuid=True), nullable=True),
sa.Column("printer_name", sa.Unicode(length=255), nullable=False),
sa.Column("copies", sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(
["menu_category_id"],
["menu_categories.id"],
name=op.f("fk_section_printers_menu_category_id_menu_categories"),
),
sa.ForeignKeyConstraint(
["printer_id"],
["printers.id"],
name=op.f("fk_section_printers_printer_id_printers"),
),
sa.ForeignKeyConstraint(
["section_id"],
["sections.id"],
name=op.f("fk_section_printers_section_id_sections"),
),
sa.PrimaryKeyConstraint("id", name=op.f("pk_section_printers")),
sa.UniqueConstraint(
"menu_category_id",
"section_id",
name=op.f("uq_section_printers_menu_category_id"),
),
)
op.create_table(
"user_roles",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("user_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.Column("role_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.ForeignKeyConstraint(["role_id"], ["roles.id"], name=op.f("fk_user_roles_role_id_roles")),
sa.ForeignKeyConstraint(["user_id"], ["users.id"], name=op.f("fk_user_roles_user_id_users")),
sa.PrimaryKeyConstraint("id", name=op.f("pk_user_roles")),
sa.UniqueConstraint("user_id", "role_id", name=op.f("uq_user_roles_user_id")),
)
op.create_table(
"products",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("name", sa.Unicode(length=255), nullable=False),
sa.Column("units", sa.Unicode(length=255), nullable=False),
sa.Column("menu_category_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.Column("sale_category_id", postgresql.UUID(as_uuid=True), nullable=True),
sa.Column("sale_category_name", sa.Unicode(length=255), nullable=True),
sa.Column("price", sa.Numeric(precision=15, scale=2), nullable=False),
sa.Column("has_happy_hour", sa.Boolean(), nullable=False),
sa.Column("is_not_available", sa.Boolean(), nullable=False),
sa.Column("quantity", sa.Numeric(precision=15, scale=2), nullable=False),
sa.Column("is_active", sa.Boolean(), nullable=False),
sa.Column("sort_order", sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(
["menu_category_id"],
["menu_categories.id"],
name=op.f("fk_products_menu_category_id_menu_categories"),
),
sa.ForeignKeyConstraint(
["sale_category_id"],
["sale_categories.id"],
name=op.f("fk_products_sale_category_id_sale_categories"),
),
sa.PrimaryKeyConstraint("id", name=op.f("pk_products")),
sa.UniqueConstraint("name", "units", name=op.f("uq_products_name")),
)
op.create_table(
"vouchers",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("date", sa.DateTime(), nullable=False),
sa.Column("pax", sa.Integer(), nullable=False),
sa.Column("bill_id", sa.Integer(), nullable=True),
sa.Column("kot_id", sa.Integer(), nullable=False),
sa.Column("creation_date", sa.DateTime(), nullable=False),
sa.Column("last_edit_date", sa.DateTime(), nullable=False),
sa.Column("food_table_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.Column("customer_id", postgresql.UUID(as_uuid=True), nullable=True),
sa.Column("narration", sa.Unicode(length=1000), nullable=True),
sa.Column("reason", sa.Unicode(length=255), nullable=True),
sa.Column("voucher_type", sa.Integer(), nullable=False),
sa.Column("user_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.ForeignKeyConstraint(
["customer_id"],
["customers.id"],
name=op.f("fk_vouchers_customer_id_customers"),
),
sa.ForeignKeyConstraint(
["food_table_id"],
["food_tables.id"],
name=op.f("fk_vouchers_food_table_id_food_tables"),
),
sa.ForeignKeyConstraint(["user_id"], ["users.id"], name=op.f("fk_vouchers_user_id_users")),
sa.PrimaryKeyConstraint("id", name=op.f("pk_vouchers")),
sa.UniqueConstraint("bill_id", "voucher_type", name=op.f("uq_vouchers_bill_id")),
sa.UniqueConstraint("kot_id", name=op.f("uq_vouchers_kot_id")),
)
op.create_index(op.f("ix_vouchers_date"), "vouchers", ["date"], unique=False)
op.create_table(
"kots",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("voucher_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.Column("code", sa.Integer(), nullable=False),
sa.Column("food_table_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.Column("date", sa.DateTime(), nullable=False),
sa.Column("user_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.ForeignKeyConstraint(
["food_table_id"],
["food_tables.id"],
name=op.f("fk_kots_food_table_id_food_tables"),
),
sa.ForeignKeyConstraint(["user_id"], ["users.id"], name=op.f("fk_kots_user_id_users")),
sa.ForeignKeyConstraint(["voucher_id"], ["vouchers.id"], name=op.f("fk_kots_voucher_id_vouchers")),
sa.PrimaryKeyConstraint("id", name=op.f("pk_kots")),
sa.UniqueConstraint("code", name=op.f("uq_kots_code")),
)
op.create_index(op.f("ix_kots_date"), "kots", ["date"], unique=False)
op.create_index(op.f("ix_kots_voucher_id"), "kots", ["voucher_id"], unique=False)
op.create_table(
"modifier_categories_products",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("product_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.Column("modifier_categories_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.ForeignKeyConstraint(
["modifier_categories_id"],
["modifier_categories.id"],
name=op.f("fk_modifier_categories_products_modifier_categories_id_modifier_categories"),
),
sa.ForeignKeyConstraint(
["product_id"],
["products.id"],
name=op.f("fk_modifier_categories_products_product_id_products"),
),
sa.PrimaryKeyConstraint("id", name=op.f("pk_modifier_categories_products")),
sa.UniqueConstraint(
"product_id",
"modifier_categories_id",
name=op.f("uq_modifier_categories_products_product_id"),
),
)
op.create_table(
"overview",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("voucher_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.Column("food_table_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.Column("guest_book_id", postgresql.UUID(as_uuid=True), nullable=True),
sa.Column("status", sa.Unicode(length=255), nullable=False),
sa.ForeignKeyConstraint(
["food_table_id"],
["food_tables.id"],
name=op.f("fk_overview_food_table_id_food_tables"),
),
sa.ForeignKeyConstraint(
["guest_book_id"],
["guest_book.id"],
name=op.f("fk_overview_guest_book_id_guest_book"),
),
sa.ForeignKeyConstraint(
["voucher_id"],
["vouchers.id"],
name=op.f("fk_overview_voucher_id_vouchers"),
),
sa.PrimaryKeyConstraint("id", name=op.f("pk_overview")),
sa.UniqueConstraint("food_table_id", name=op.f("uq_overview_food_table_id")),
sa.UniqueConstraint("guest_book_id", name=op.f("uq_overview_guest_book_id")),
sa.UniqueConstraint("voucher_id", name=op.f("uq_overview_voucher_id")),
)
op.create_table(
"reprints",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("date", sa.DateTime(), nullable=False),
sa.Column("voucher_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.Column("user_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.ForeignKeyConstraint(["user_id"], ["users.id"], name=op.f("fk_reprints_user_id_users")),
sa.ForeignKeyConstraint(
["voucher_id"],
["vouchers.id"],
name=op.f("fk_reprints_voucher_id_vouchers"),
),
sa.PrimaryKeyConstraint("id", name=op.f("pk_reprints")),
)
op.create_index(op.f("ix_reprints_date"), "reprints", ["date"], unique=False)
op.create_index(op.f("ix_reprints_voucher_id"), "reprints", ["voucher_id"], unique=False)
op.create_table(
"settlements",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("voucher_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.Column("settled", sa.Integer(), nullable=False),
sa.Column("amount", sa.Numeric(precision=15, scale=2), nullable=False),
sa.ForeignKeyConstraint(
["settled"],
["settle_options.id"],
name=op.f("fk_settlements_settled_settle_options"),
),
sa.ForeignKeyConstraint(
["voucher_id"],
["vouchers.id"],
name=op.f("fk_settlements_voucher_id_vouchers"),
),
sa.PrimaryKeyConstraint("id", name=op.f("pk_settlements")),
sa.UniqueConstraint("voucher_id", "settled", name=op.f("uq_settlements_voucher_id")),
)
op.create_index(op.f("ix_settlements_voucher_id"), "settlements", ["voucher_id"], unique=False)
op.create_table(
"inventories",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("kot_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.Column("product_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.Column("quantity", sa.Numeric(precision=15, scale=2), nullable=True),
sa.Column("price", sa.Numeric(precision=15, scale=2), nullable=True),
sa.Column("is_happy_hour", sa.Boolean(), nullable=False),
sa.Column("tax_rate", sa.Numeric(precision=15, scale=5), nullable=True),
sa.Column("tax_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.Column("discount", sa.Numeric(precision=15, scale=5), nullable=True),
sa.Column("sort_order", sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(["kot_id"], ["kots.id"], name=op.f("fk_inventories_kot_id_kots")),
sa.ForeignKeyConstraint(
["product_id"],
["products.id"],
name=op.f("fk_inventories_product_id_products"),
),
sa.ForeignKeyConstraint(["tax_id"], ["taxes.id"], name=op.f("fk_inventories_tax_id_taxes")),
sa.PrimaryKeyConstraint("id", name=op.f("pk_inventories")),
sa.UniqueConstraint(
"kot_id",
"product_id",
"is_happy_hour",
"price",
name=op.f("uq_inventories_kot_id"),
),
)
op.create_index(op.f("ix_inventories_kot_id"), "inventories", ["kot_id"], unique=False)
op.create_table(
"inventory_modifiers",
sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
sa.Column("inventory_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.Column("modifier_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.Column("price", sa.Numeric(precision=15, scale=2), nullable=False),
sa.ForeignKeyConstraint(
["inventory_id"],
["inventories.id"],
name=op.f("fk_inventory_modifiers_inventory_id_inventories"),
),
sa.ForeignKeyConstraint(
["modifier_id"],
["modifiers.id"],
name=op.f("fk_inventory_modifiers_modifier_id_modifiers"),
),
sa.PrimaryKeyConstraint("id", name=op.f("pk_inventory_modifiers")),
sa.UniqueConstraint(
"inventory_id",
"modifier_id",
name=op.f("uq_inventory_modifiers_inventory_id"),
),
)
op.execute(Permission.__table__.insert().values(id="5b66c6f6-003a-4ef8-ba28-49b8ff1ac33c", name="Printers"))
op.execute(Permission.__table__.insert().values(id="7c54039e-0ca3-45ca-a6e0-4d55a8bb10b0", name="Settings"))
op.execute(Permission.__table__.insert().values(id="7a04ba63-5d08-4078-9051-a6d91cce3e48", name="Section Printers"))
op.execute(Permission.__table__.insert().values(id="5f6110ba-2d3a-41cb-9597-1157774f10cb", name="Add Devices"))
op.execute(
Section.__table__.insert().values(id="3f13f6e7-dc76-4fca-8fdb-b2bbf29b35df", name="Main", is_fixture=True)
)
op.execute(
ModifierCategory.__table__.insert().values(
id="e046ad33-dc65-4c78-8833-c3d3538d44c0",
name="Old Modifiers",
maximum=None,
minimum=0,
is_active=True,
sort_order=0,
)
)
op.execute(
ModifierCategory.__table__.insert().values(
id="b572f401-3c2f-48b9-8973-ada5a6e4d3a6",
name="Bar Instructions",
maximum=None,
minimum=0,
is_active=True,
sort_order=0,
)
)
op.execute(
ModifierCategory.__table__.insert().values(
id="caa72832-5034-405e-8442-68a8cc12ace9",
name="Delivery",
maximum=None,
minimum=0,
is_active=True,
sort_order=0,
)
)
op.execute(
ModifierCategory.__table__.insert().values(
id="d6a0595f-e209-42e4-bb12-b7499f9a9c4d",
name="Kitchen Instructions",
maximum=None,
minimum=0,
is_active=True,
sort_order=0,
)
)
op.execute(
ModifierCategory.__table__.insert().values(
id="60ca9122-adc5-463b-ad5f-33a68df8c3ae",
name="Mixers",
maximum=None,
minimum=0,
is_active=True,
sort_order=0,
)
)
op.execute(
ModifierCategory.__table__.insert().values(
id="ef5b1a0b-5eb1-45ff-bd82-3209c8b888df",
name="Pasta Sauce",
maximum=None,
minimum=0,
is_active=True,
sort_order=0,
)
)
settle_options()
op.execute(
DbSetting.__table__.insert().values(
id="fb738ba2-a3c9-40ed-891c-b930e6454974",
name="Header",
data={
"Text": """ Hops n Grains
The Microbrewery
SCO 358, Sector 9, Panchkula
A Unit of Peitho Foods Pvt. Ltd.
CIN: U15139CH2010PTC032202
(Reg Add: Plot No. 907, Indl Area II, Chd)
TIN: 06592507323
Service Tax: AAFCP5097GSD001
"""
},
)
)
op.execute(
DbSetting.__table__.insert().values(
id="f7799871-d16e-4c4d-9b57-2299a5839acb",
name="Footer",
data={"Text": "Call: 0172-4026666, 8054923853, 8054923856"},
)
)
op.execute(
DbSetting.__table__.insert().values(
id="fa3d415c-c770-4d7c-8705-90f4be302587",
name="Prefill Customer Discount",
data={"Value": "true"},
)
)
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_table("inventory_modifiers")
op.drop_index(op.f("ix_inventories_kot_id"), table_name="inventories")
op.drop_table("inventories")
op.drop_index(op.f("ix_settlements_voucher_id"), table_name="settlements")
op.drop_table("settlements")
op.drop_index(op.f("ix_reprints_voucher_id"), table_name="reprints")
op.drop_index(op.f("ix_reprints_date"), table_name="reprints")
op.drop_table("reprints")
op.drop_table("overview")
op.drop_table("modifier_categories_products")
op.drop_index(op.f("ix_kots_voucher_id"), table_name="kots")
op.drop_index(op.f("ix_kots_date"), table_name="kots")
op.drop_table("kots")
op.drop_index(op.f("ix_vouchers_date"), table_name="vouchers")
op.drop_table("vouchers")
op.drop_table("products")
op.drop_table("user_roles")
op.drop_table("section_printers")
op.drop_table("sale_categories")
op.drop_table("role_permissions")
op.drop_table("modifiers")
op.drop_table("guest_book")
op.drop_table("food_tables")
op.drop_table("devices")
op.drop_table("users")
op.drop_table("taxes")
op.drop_table("settle_options")
op.drop_table("settings")
op.drop_table("sections")
op.drop_table("roles")
op.drop_table("printers")
op.drop_table("permissions")
op.drop_table("modifier_categories")
op.drop_table("menu_categories")
op.drop_table("customers")
op.drop_table("clients")
# ### end Alembic commands ###