365 lines
19 KiB
Python
365 lines
19 KiB
Python
"""Initial Commit
|
|
|
|
Revision ID: 0bf3d70ee7de
|
|
Revises:
|
|
Create Date: 2020-05-10 19:02:57.301086
|
|
|
|
"""
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
from sqlalchemy.dialects import postgresql
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision = "0bf3d70ee7de"
|
|
down_revision = None
|
|
branch_labels = None
|
|
depends_on = None
|
|
|
|
|
|
def upgrade():
|
|
# ### commands auto generated by Alembic - please adjust! ###
|
|
op.create_table(
|
|
"auth_clients",
|
|
sa.Column("client_id", postgresql.UUID(), nullable=False),
|
|
sa.Column("code", sa.Integer(), nullable=False),
|
|
sa.Column("name", sa.Unicode(length=255), nullable=False),
|
|
sa.Column("enabled", sa.Boolean(), nullable=False),
|
|
sa.Column("otp", sa.Integer(), nullable=True),
|
|
sa.Column("creation_date", sa.DateTime(timezone=True), nullable=False),
|
|
sa.PrimaryKeyConstraint("client_id", name=op.f("pk_auth_clients")),
|
|
sa.UniqueConstraint("code", name=op.f("uq_auth_clients_code")),
|
|
sa.UniqueConstraint("name", name=op.f("uq_auth_clients_name")),
|
|
)
|
|
op.create_table(
|
|
"auth_groups",
|
|
sa.Column("GroupID", postgresql.UUID(), nullable=False),
|
|
sa.Column("Name", sa.Unicode(length=255), nullable=True),
|
|
sa.PrimaryKeyConstraint("GroupID", name=op.f("pk_auth_groups")),
|
|
sa.UniqueConstraint("Name", name=op.f("uq_auth_groups_Name")),
|
|
)
|
|
op.create_table(
|
|
"auth_roles",
|
|
sa.Column("RoleID", postgresql.UUID(), nullable=False),
|
|
sa.Column("Name", sa.Unicode(length=255), nullable=True),
|
|
sa.PrimaryKeyConstraint("RoleID", name=op.f("pk_auth_roles")),
|
|
sa.UniqueConstraint("Name", name=op.f("uq_auth_roles_Name")),
|
|
)
|
|
op.create_table(
|
|
"auth_users",
|
|
sa.Column("UserID", postgresql.UUID(), nullable=False),
|
|
sa.Column("Name", sa.Unicode(length=255), nullable=True),
|
|
sa.Column("Password", sa.Unicode(length=60), nullable=True),
|
|
sa.Column("LockedOut", sa.Boolean(), nullable=True),
|
|
sa.PrimaryKeyConstraint("UserID", name=op.f("pk_auth_users")),
|
|
sa.UniqueConstraint("Name", name=op.f("uq_auth_users_Name")),
|
|
)
|
|
op.create_table(
|
|
"cost_centres",
|
|
sa.Column("CostCentreID", postgresql.UUID(), nullable=False),
|
|
sa.Column("Name", sa.Unicode(length=255), nullable=True),
|
|
sa.Column("IsFixture", sa.Boolean(), nullable=False),
|
|
sa.PrimaryKeyConstraint("CostCentreID", name=op.f("pk_cost_centres")),
|
|
sa.UniqueConstraint("Name", name=op.f("uq_cost_centres_Name")),
|
|
)
|
|
op.create_table(
|
|
"images",
|
|
sa.Column("id", postgresql.UUID(), nullable=False),
|
|
sa.Column("resource_id", postgresql.UUID(), nullable=False),
|
|
sa.Column("resource_type", sa.Unicode(length=255), nullable=False),
|
|
sa.Column("image", postgresql.BYTEA(), nullable=False),
|
|
sa.Column("thumbnail", postgresql.BYTEA(), nullable=False),
|
|
sa.Column("creation_date", sa.DateTime(timezone=True), nullable=False),
|
|
sa.PrimaryKeyConstraint("id", name=op.f("pk_images")),
|
|
)
|
|
op.create_table(
|
|
"product_groups",
|
|
sa.Column("ProductGroupID", postgresql.UUID(), nullable=False),
|
|
sa.Column("Name", sa.Unicode(length=255), nullable=True),
|
|
sa.Column("IsFixture", sa.Boolean(), nullable=False),
|
|
sa.PrimaryKeyConstraint("ProductGroupID", name=op.f("pk_product_groups")),
|
|
sa.UniqueConstraint("Name", name=op.f("uq_product_groups_Name")),
|
|
)
|
|
op.create_table(
|
|
"settings",
|
|
sa.Column("SettingID", postgresql.UUID(), nullable=False),
|
|
sa.Column("Name", sa.Unicode(length=255), nullable=False),
|
|
sa.Column("Data", sa.PickleType(), nullable=True),
|
|
sa.PrimaryKeyConstraint("SettingID", name=op.f("pk_settings")),
|
|
sa.UniqueConstraint("Name", name=op.f("uq_settings_Name")),
|
|
)
|
|
op.create_table(
|
|
"accounts",
|
|
sa.Column("id", postgresql.UUID(), nullable=False),
|
|
sa.Column("code", sa.Integer(), nullable=False),
|
|
sa.Column("name", sa.Unicode(length=255), nullable=False),
|
|
sa.Column("type", sa.Integer(), nullable=False),
|
|
sa.Column("account_type", sa.Unicode(length=50), nullable=False),
|
|
sa.Column("is_starred", sa.Boolean(), nullable=False),
|
|
sa.Column("is_active", sa.Boolean(), nullable=False),
|
|
sa.Column("is_reconcilable", sa.Boolean(), nullable=False),
|
|
sa.Column("cost_centre_id", postgresql.UUID(), nullable=False),
|
|
sa.Column("is_fixture", sa.Boolean(), nullable=False),
|
|
sa.ForeignKeyConstraint(
|
|
["cost_centre_id"], ["cost_centres.CostCentreID"], name=op.f("fk_accounts_cost_centre_id_cost_centres"),
|
|
),
|
|
sa.PrimaryKeyConstraint("id", name=op.f("pk_accounts")),
|
|
sa.UniqueConstraint("name", name=op.f("uq_accounts_name")),
|
|
)
|
|
op.create_table(
|
|
"auth_login_history",
|
|
sa.Column("login_history_id", postgresql.UUID(), nullable=False),
|
|
sa.Column("user_id", postgresql.UUID(), nullable=False),
|
|
sa.Column("client_id", postgresql.UUID(), nullable=False),
|
|
sa.Column("date", sa.DateTime(timezone=True), nullable=False),
|
|
sa.ForeignKeyConstraint(
|
|
["client_id"], ["auth_clients.client_id"], name=op.f("fk_auth_login_history_client_id_auth_clients"),
|
|
),
|
|
sa.ForeignKeyConstraint(
|
|
["user_id"], ["auth_users.UserID"], name=op.f("fk_auth_login_history_user_id_auth_users"),
|
|
),
|
|
sa.PrimaryKeyConstraint("login_history_id", name=op.f("pk_auth_login_history")),
|
|
sa.UniqueConstraint("user_id", "client_id", "date", name=op.f("uq_auth_login_history_user_id")),
|
|
)
|
|
op.create_table(
|
|
"auth_rolegroups",
|
|
sa.Column("RoleGroupID", postgresql.UUID(), nullable=False),
|
|
sa.Column("RoleID", postgresql.UUID(), nullable=True),
|
|
sa.Column("GroupID", postgresql.UUID(), nullable=True),
|
|
sa.ForeignKeyConstraint(
|
|
["GroupID"], ["auth_groups.GroupID"], name=op.f("fk_auth_rolegroups_GroupID_auth_groups"),
|
|
),
|
|
sa.ForeignKeyConstraint(["RoleID"], ["auth_roles.RoleID"], name=op.f("fk_auth_rolegroups_RoleID_auth_roles"),),
|
|
sa.PrimaryKeyConstraint("RoleGroupID", name=op.f("pk_auth_rolegroups")),
|
|
)
|
|
op.create_table(
|
|
"auth_usergroups",
|
|
sa.Column("UserGroupID", postgresql.UUID(), nullable=False),
|
|
sa.Column("UserID", postgresql.UUID(), nullable=True),
|
|
sa.Column("GroupID", postgresql.UUID(), nullable=True),
|
|
sa.ForeignKeyConstraint(
|
|
["GroupID"], ["auth_groups.GroupID"], name=op.f("fk_auth_usergroups_GroupID_auth_groups"),
|
|
),
|
|
sa.ForeignKeyConstraint(["UserID"], ["auth_users.UserID"], name=op.f("fk_auth_usergroups_UserID_auth_users"),),
|
|
sa.PrimaryKeyConstraint("UserGroupID", name=op.f("pk_auth_usergroups")),
|
|
)
|
|
op.create_table(
|
|
"vouchers",
|
|
sa.Column("VoucherID", postgresql.UUID(), nullable=False),
|
|
sa.Column("date", sa.DateTime(), nullable=False),
|
|
sa.Column("narration", sa.Unicode(length=1000), nullable=False),
|
|
sa.Column("is_reconciled", sa.Boolean(), nullable=False),
|
|
sa.Column("reconcile_date", sa.DateTime(), nullable=False),
|
|
sa.Column("is_starred", sa.Boolean(), nullable=False),
|
|
sa.Column("creation_date", sa.DateTime(timezone=True), nullable=False),
|
|
sa.Column("last_edit_date", sa.DateTime(timezone=True), nullable=False),
|
|
sa.Column("voucher_type", sa.Integer(), nullable=False),
|
|
sa.Column("user_id", postgresql.UUID(), nullable=False),
|
|
sa.Column("is_posted", sa.Boolean(), nullable=False),
|
|
sa.Column("poster_id", postgresql.UUID(), nullable=True),
|
|
sa.ForeignKeyConstraint(["poster_id"], ["auth_users.UserID"], name=op.f("fk_vouchers_poster_id_auth_users"),),
|
|
sa.ForeignKeyConstraint(["user_id"], ["auth_users.UserID"], name=op.f("fk_vouchers_user_id_auth_users"),),
|
|
sa.PrimaryKeyConstraint("VoucherID", name=op.f("pk_vouchers")),
|
|
)
|
|
op.create_index(op.f("ix_vouchers_date"), "vouchers", ["date"], unique=False)
|
|
op.create_table(
|
|
"employees",
|
|
sa.Column("id", postgresql.UUID(), nullable=False),
|
|
sa.Column("Designation", sa.Unicode(length=255), nullable=True),
|
|
sa.Column("Salary", sa.Integer(), nullable=True),
|
|
sa.Column("ServicePoints", sa.Numeric(precision=5, scale=2), nullable=True),
|
|
sa.Column("JoiningDate", sa.DateTime(), nullable=True),
|
|
sa.Column("LeavingDate", sa.DateTime(), nullable=True),
|
|
sa.ForeignKeyConstraint(["id"], ["accounts.id"], name=op.f("fk_employees_id_accounts")),
|
|
sa.PrimaryKeyConstraint("id", name=op.f("pk_employees")),
|
|
)
|
|
op.create_table(
|
|
"journals",
|
|
sa.Column("JournalID", postgresql.UUID(), nullable=False),
|
|
sa.Column("Debit", sa.Integer(), nullable=True),
|
|
sa.Column("Amount", sa.Numeric(), nullable=True),
|
|
sa.Column("VoucherID", postgresql.UUID(), nullable=False),
|
|
sa.Column("account_id", postgresql.UUID(), nullable=False),
|
|
sa.Column("CostCentreID", postgresql.UUID(), nullable=False),
|
|
sa.ForeignKeyConstraint(
|
|
["CostCentreID"], ["cost_centres.CostCentreID"], name=op.f("fk_journals_CostCentreID_cost_centres"),
|
|
),
|
|
sa.ForeignKeyConstraint(["VoucherID"], ["vouchers.VoucherID"], name=op.f("fk_journals_VoucherID_vouchers"),),
|
|
sa.ForeignKeyConstraint(["account_id"], ["accounts.id"], name=op.f("fk_journals_account_id_accounts"),),
|
|
sa.PrimaryKeyConstraint("JournalID", name=op.f("pk_journals")),
|
|
)
|
|
op.create_index(op.f("ix_journals_VoucherID"), "journals", ["VoucherID"], unique=False)
|
|
op.create_table(
|
|
"products",
|
|
sa.Column("ProductID", postgresql.UUID(), nullable=False),
|
|
sa.Column("Code", sa.Integer(), nullable=True),
|
|
sa.Column("Name", sa.Unicode(length=255), nullable=False),
|
|
sa.Column("Units", sa.Unicode(length=255), nullable=False),
|
|
sa.Column("Fraction", sa.Numeric(), nullable=False),
|
|
sa.Column("FractionUnits", sa.Unicode(length=255), nullable=False),
|
|
sa.Column("ProductYield", sa.Numeric(), nullable=False),
|
|
sa.Column("ProductGroupID", postgresql.UUID(), nullable=False),
|
|
sa.Column("account_id", postgresql.UUID(), nullable=False),
|
|
sa.Column("cost_price", sa.Numeric(), nullable=False),
|
|
sa.Column("sale_price", sa.Numeric(), nullable=False),
|
|
sa.Column("IsActive", sa.Boolean(), nullable=False),
|
|
sa.Column("IsFixture", sa.Boolean(), nullable=False),
|
|
sa.Column("is_purchased", sa.Boolean(), nullable=False),
|
|
sa.Column("is_sold", sa.Boolean(), nullable=False),
|
|
sa.ForeignKeyConstraint(
|
|
["ProductGroupID"],
|
|
["product_groups.ProductGroupID"],
|
|
name=op.f("fk_products_ProductGroupID_product_groups"),
|
|
),
|
|
sa.ForeignKeyConstraint(["account_id"], ["accounts.id"], name=op.f("fk_products_account_id_accounts"),),
|
|
sa.PrimaryKeyConstraint("ProductID", name=op.f("pk_products")),
|
|
sa.UniqueConstraint("Code", name=op.f("uq_products_Code")),
|
|
sa.UniqueConstraint("Name", "Units", name=op.f("uq_products_Name")),
|
|
)
|
|
op.create_table(
|
|
"attendances",
|
|
sa.Column("AttendanceID", postgresql.UUID(), nullable=False),
|
|
sa.Column("EmployeeID", postgresql.UUID(), nullable=True),
|
|
sa.Column("Date", sa.DateTime(), nullable=True),
|
|
sa.Column("AttendanceType", sa.Integer(), nullable=True),
|
|
sa.Column("Amount", sa.Numeric(), nullable=True),
|
|
sa.Column("CreationDate", sa.DateTime(timezone=True), nullable=True),
|
|
sa.Column("UserID", postgresql.UUID(), nullable=True),
|
|
sa.Column("IsValid", sa.Boolean(), nullable=True),
|
|
sa.ForeignKeyConstraint(["EmployeeID"], ["employees.id"], name=op.f("fk_attendances_EmployeeID_employees"),),
|
|
sa.ForeignKeyConstraint(["UserID"], ["auth_users.UserID"], name=op.f("fk_attendances_UserID_auth_users"),),
|
|
sa.PrimaryKeyConstraint("AttendanceID", name=op.f("pk_attendances")),
|
|
)
|
|
op.create_table(
|
|
"batches",
|
|
sa.Column("BatchID", postgresql.UUID(), nullable=False),
|
|
sa.Column("Name", sa.DateTime(), nullable=True),
|
|
sa.Column("ProductID", postgresql.UUID(), nullable=False),
|
|
sa.Column("QuantityRemaining", sa.Numeric(), nullable=True),
|
|
sa.Column("Rate", sa.Numeric(), nullable=True),
|
|
sa.Column("Tax", sa.Numeric(), nullable=True),
|
|
sa.Column("Discount", sa.Numeric(), nullable=True),
|
|
sa.ForeignKeyConstraint(["ProductID"], ["products.ProductID"], name=op.f("fk_batches_ProductID_products"),),
|
|
sa.PrimaryKeyConstraint("BatchID", name=op.f("pk_batches")),
|
|
)
|
|
op.create_table(
|
|
"fingerprints",
|
|
sa.Column("FingerprintID", postgresql.UUID(), nullable=False),
|
|
sa.Column("EmployeeID", postgresql.UUID(), nullable=True),
|
|
sa.Column("Date", sa.DateTime(), nullable=True),
|
|
sa.ForeignKeyConstraint(["EmployeeID"], ["employees.id"], name=op.f("fk_fingerprints_EmployeeID_employees"),),
|
|
sa.PrimaryKeyConstraint("FingerprintID", name=op.f("pk_fingerprints")),
|
|
)
|
|
op.create_table(
|
|
"recipes",
|
|
sa.Column("recipe_id", postgresql.UUID(), nullable=False),
|
|
sa.Column("product_id", postgresql.UUID(), nullable=False),
|
|
sa.Column("quantity", sa.Numeric(), nullable=False),
|
|
sa.Column("cost_price", sa.Numeric(), nullable=False),
|
|
sa.Column("sale_price", sa.Numeric(), nullable=False),
|
|
sa.Column("notes", sa.Unicode(length=255), nullable=True),
|
|
sa.Column("valid_from", sa.Date(), nullable=False),
|
|
sa.Column("valid_to", sa.Date(), nullable=False),
|
|
sa.Column("effective_from", sa.Date(), nullable=False),
|
|
sa.Column("effective_to", sa.Date(), nullable=True),
|
|
sa.ForeignKeyConstraint(["product_id"], ["products.ProductID"], name=op.f("fk_recipes_product_id_products"),),
|
|
sa.PrimaryKeyConstraint("recipe_id", name=op.f("pk_recipes")),
|
|
)
|
|
op.create_table(
|
|
"salary_deductions",
|
|
sa.Column("SalaryDeductionID", postgresql.UUID(), nullable=False),
|
|
sa.Column("VoucherID", postgresql.UUID(), nullable=False),
|
|
sa.Column("JournalID", postgresql.UUID(), nullable=False),
|
|
sa.Column("GrossSalary", sa.Integer(), nullable=True),
|
|
sa.Column("DaysWorked", sa.Integer(), nullable=True),
|
|
sa.Column("EsiEmployee", sa.Integer(), nullable=True),
|
|
sa.Column("PfEmployee", sa.Integer(), nullable=True),
|
|
sa.Column("EsiEmployer", sa.Integer(), nullable=True),
|
|
sa.Column("PfEmployer", sa.Integer(), nullable=True),
|
|
sa.ForeignKeyConstraint(
|
|
["JournalID"], ["journals.JournalID"], name=op.f("fk_salary_deductions_JournalID_journals"),
|
|
),
|
|
sa.ForeignKeyConstraint(
|
|
["VoucherID"], ["vouchers.VoucherID"], name=op.f("fk_salary_deductions_VoucherID_vouchers"),
|
|
),
|
|
sa.PrimaryKeyConstraint("SalaryDeductionID", name=op.f("pk_salary_deductions")),
|
|
)
|
|
op.create_table(
|
|
"service_charges",
|
|
sa.Column("id", postgresql.UUID(), nullable=False),
|
|
sa.Column("voucher_id", postgresql.UUID(), nullable=False),
|
|
sa.Column("journal_id", postgresql.UUID(), nullable=False),
|
|
sa.Column("days_worked", sa.Integer(), nullable=False),
|
|
sa.Column("points", sa.Numeric(precision=5, scale=2), nullable=False),
|
|
sa.ForeignKeyConstraint(
|
|
["journal_id"], ["journals.JournalID"], name=op.f("fk_service_charges_journal_id_journals"),
|
|
),
|
|
sa.ForeignKeyConstraint(
|
|
["voucher_id"], ["vouchers.VoucherID"], name=op.f("fk_service_charges_voucher_id_vouchers"),
|
|
),
|
|
sa.PrimaryKeyConstraint("id", name=op.f("pk_service_charges")),
|
|
)
|
|
op.create_table(
|
|
"inventories",
|
|
sa.Column("InventoryID", postgresql.UUID(), nullable=False),
|
|
sa.Column("VoucherID", postgresql.UUID(), nullable=False),
|
|
sa.Column("ProductID", postgresql.UUID(), nullable=False),
|
|
sa.Column("BatchID", postgresql.UUID(), nullable=False),
|
|
sa.Column("Quantity", sa.Numeric(), nullable=True),
|
|
sa.Column("Rate", sa.Numeric(), nullable=True),
|
|
sa.Column("Tax", sa.Numeric(), nullable=True),
|
|
sa.Column("Discount", sa.Numeric(), nullable=True),
|
|
sa.ForeignKeyConstraint(["BatchID"], ["batches.BatchID"], name=op.f("fk_inventories_BatchID_batches"),),
|
|
sa.ForeignKeyConstraint(["ProductID"], ["products.ProductID"], name=op.f("fk_inventories_ProductID_products"),),
|
|
sa.ForeignKeyConstraint(["VoucherID"], ["vouchers.VoucherID"], name=op.f("fk_inventories_VoucherID_vouchers"),),
|
|
sa.PrimaryKeyConstraint("InventoryID", name=op.f("pk_inventories")),
|
|
sa.UniqueConstraint("VoucherID", "BatchID", name=op.f("uq_inventories_VoucherID")),
|
|
)
|
|
op.create_index(op.f("ix_inventories_VoucherID"), "inventories", ["VoucherID"], unique=False)
|
|
op.create_table(
|
|
"recipe_items",
|
|
sa.Column("recipe_item_id", postgresql.UUID(), nullable=False),
|
|
sa.Column("recipe_id", postgresql.UUID(), nullable=False),
|
|
sa.Column("product_id", postgresql.UUID(), nullable=False),
|
|
sa.Column("quantity", sa.Integer(), nullable=False),
|
|
sa.Column("price", sa.Integer(), nullable=False),
|
|
sa.ForeignKeyConstraint(
|
|
["product_id"], ["products.ProductID"], name=op.f("fk_recipe_items_product_id_products"),
|
|
),
|
|
sa.ForeignKeyConstraint(["recipe_id"], ["recipes.recipe_id"], name=op.f("fk_recipe_items_recipe_id_recipes"),),
|
|
sa.PrimaryKeyConstraint("recipe_item_id", name=op.f("pk_recipe_items")),
|
|
sa.UniqueConstraint("recipe_id", "product_id", name=op.f("uq_recipe_items_recipe_id")),
|
|
)
|
|
# ### end Alembic commands ###
|
|
|
|
|
|
def downgrade():
|
|
# ### commands auto generated by Alembic - please adjust! ###
|
|
op.drop_table("recipe_items")
|
|
op.drop_index(op.f("ix_inventories_VoucherID"), table_name="inventories")
|
|
op.drop_table("inventories")
|
|
op.drop_table("service_charges")
|
|
op.drop_table("salary_deductions")
|
|
op.drop_table("recipes")
|
|
op.drop_table("fingerprints")
|
|
op.drop_table("batches")
|
|
op.drop_table("attendances")
|
|
op.drop_table("products")
|
|
op.drop_index(op.f("ix_journals_VoucherID"), table_name="journals")
|
|
op.drop_table("journals")
|
|
op.drop_table("employees")
|
|
op.drop_index(op.f("ix_vouchers_date"), table_name="vouchers")
|
|
op.drop_table("vouchers")
|
|
op.drop_table("auth_usergroups")
|
|
op.drop_table("auth_rolegroups")
|
|
op.drop_table("auth_login_history")
|
|
op.drop_table("accounts")
|
|
op.drop_table("settings")
|
|
op.drop_table("product_groups")
|
|
op.drop_table("images")
|
|
op.drop_table("cost_centres")
|
|
op.drop_table("auth_users")
|
|
op.drop_table("auth_roles")
|
|
op.drop_table("auth_groups")
|
|
op.drop_table("auth_clients")
|
|
# ### end Alembic commands ###
|