CostHive/migrations/versions/9732721f062d_full_structure.py
2022-02-03 17:03:37 +01:00

89 lines
3.0 KiB
Python

"""full structure
Revision ID: 9732721f062d
Revises:
Create Date: 2022-02-03 16:59:29.325840
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = '9732721f062d'
down_revision = None
branch_labels = None
depends_on = None
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.create_table('brand',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('name', sa.String(length=32), nullable=True),
sa.PrimaryKeyConstraint('id')
)
op.create_table('category',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('name', sa.String(length=32), nullable=True),
sa.PrimaryKeyConstraint('id')
)
op.create_table('user',
sa.Column('id', sa.String(length=10), nullable=False),
sa.Column('name', sa.String(length=64), nullable=True),
sa.Column('password_hash', sa.String(length=128), nullable=True),
sa.PrimaryKeyConstraint('id')
)
op.create_table('item',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('brand', sa.Integer(), nullable=True),
sa.Column('name', sa.String(length=64), nullable=True),
sa.Column('description', sa.Text(), nullable=True),
sa.ForeignKeyConstraint(['brand'], ['brand.id'], ),
sa.PrimaryKeyConstraint('id')
)
op.create_table('amount__change',
sa.Column('item', sa.Integer(), nullable=False),
sa.Column('date', sa.Date(), nullable=False),
sa.Column('Amount', sa.SmallInteger(), nullable=True),
sa.ForeignKeyConstraint(['item'], ['item.id'], ),
sa.PrimaryKeyConstraint('item', 'date')
)
op.create_table('bought',
sa.Column('user', sa.String(length=10), nullable=False),
sa.Column('item', sa.Integer(), nullable=False),
sa.Column('date', sa.Date(), nullable=True),
sa.Column('amount', sa.SmallInteger(), nullable=True),
sa.ForeignKeyConstraint(['item'], ['item.id'], ),
sa.ForeignKeyConstraint(['user'], ['user.id'], ),
sa.PrimaryKeyConstraint('user', 'item')
)
op.create_table('item_category',
sa.Column('item', sa.Integer(), nullable=False),
sa.Column('category', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['category'], ['category.id'], ),
sa.ForeignKeyConstraint(['item'], ['item.id'], ),
sa.PrimaryKeyConstraint('item', 'category')
)
op.create_table('price__change',
sa.Column('item', sa.Integer(), nullable=False),
sa.Column('date', sa.Date(), nullable=False),
sa.Column('price', sa.SmallInteger(), nullable=True),
sa.ForeignKeyConstraint(['item'], ['item.id'], ),
sa.PrimaryKeyConstraint('item', 'date')
)
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_table('price__change')
op.drop_table('item_category')
op.drop_table('bought')
op.drop_table('amount__change')
op.drop_table('item')
op.drop_table('user')
op.drop_table('category')
op.drop_table('brand')
# ### end Alembic commands ###