"""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 ###