You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
2.8 KiB

1 year ago
"""initial
Revision ID: 3c651a0d1fe0
Revises:
Create Date: 2023-10-27 18:19:47.402501
"""
1 year ago
import random
import time
1 year ago
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = '3c651a0d1fe0'
down_revision = None
branch_labels = None
depends_on = None
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.create_table('camera',
1 year ago
sa.Column('camera_type', sa.String(), nullable=False),
sa.Column('order_numb', sa.Integer(), nullable=True),
sa.Column('id', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('created_at', sa.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'),
nullable=False),
sa.Column('updated_at', sa.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'),
nullable=False),
sa.PrimaryKeyConstraint('id', name=op.f('pk_camera')),
sa.UniqueConstraint('id', name=op.f('uq_camera_id')),
sa.UniqueConstraint('order_numb', name=op.f('uq_camera_order_numb'))
)
1 year ago
op.create_table('conveer',
1 year ago
sa.Column('wood', sa.Integer(), nullable=True),
sa.Column('metal', sa.Integer(), nullable=True),
sa.Column('glass', sa.Integer(), nullable=True),
sa.Column('plastic', sa.Integer(), nullable=True),
sa.Column('camera_id', sa.Integer(), nullable=False),
sa.Column('id', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('created_at', sa.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'),
nullable=False),
sa.Column('updated_at', sa.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'),
nullable=False),
sa.ForeignKeyConstraint(['camera_id'], ['camera.id'], name=op.f('fk_conveer_camera_id_camera')),
sa.PrimaryKeyConstraint('id', name=op.f('pk_conveer')),
sa.UniqueConstraint('id', name=op.f('uq_conveer_id'))
)
1 year ago
op.execute('''INSERT INTO camera(id,order_numb, camera_type) VALUES (1,1, 'По умолчанию')''')
1 year ago
for i in range(0, 12):
op.execute('''INSERT INTO conveer (metal, glass, plastic, wood, camera_id) VALUES (floor(random() * 20 + 1),
floor(random() * 10 + 1), floor(random() * 15 + 1), floor(random() * 30 + 1), 1);''')
time.sleep(random.randint(0, 3))
1 year ago
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_table('conveer')
op.drop_table('camera')
# ### end Alembic commands ###