diff --git a/apps/py-conveyor-service/db/migrations/versions/3c651a0d1fe0_initial.py b/apps/py-conveyor-service/db/migrations/versions/3c651a0d1fe0_initial.py index 5199c56..8425ebd 100644 --- a/apps/py-conveyor-service/db/migrations/versions/3c651a0d1fe0_initial.py +++ b/apps/py-conveyor-service/db/migrations/versions/3c651a0d1fe0_initial.py @@ -18,7 +18,8 @@ down_revision = None branch_labels = None depends_on = None - +def generate_normal_random(mean, std_dev): + return int(random.gauss(mean, std_dev)) def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.create_table('camera', @@ -52,10 +53,31 @@ def upgrade(): import random from datetime import datetime, timedelta - for _ in range(0, 100): - random_date = datetime.now() - timedelta(days=random.randint(1, 365)) # Генерация случайной даты за последний год + # Устанавливаем параметры нормального распределения + mean_metal = 10 # Среднее значение для металла + std_dev_metal = 3 # Стандартное отклонение для металла + + mean_glass = 5 # Среднее значение для стекла + std_dev_glass = 2 # Стандартное отклонение для стекла + + mean_plastic = 7.5 # Среднее значение для пластика + std_dev_plastic = 2.5 # Стандартное отклонение для пластика + + mean_wood = 15 # Среднее значение для дерева + std_dev_wood = 5 # Стандартное отклонение для дерева + + for _ in range(0, 50): + random_date = datetime.now() - timedelta(days=random.randint(1, 365)) + + # Генерируем случайные значения, следующие нормальному распределению + metal = generate_normal_random(mean_metal, std_dev_metal) + glass = generate_normal_random(mean_glass, std_dev_glass) + plastic = generate_normal_random(mean_plastic, std_dev_plastic) + wood = generate_normal_random(mean_wood, std_dev_wood) + + # Далее вы можете выполнить ваш SQL-запрос с этими случайными значениями op.execute(f'''INSERT INTO conveer (metal, glass, plastic, wood, camera_id, created_at) - VALUES (floor(random() * 20 + 1), floor(random() * 10 + 1), floor(random() * 15 + 1), floor(random() * 30 + 1), 1,'{random_date}');''') + VALUES ({metal}, {glass}, {plastic}, {wood}, 1, '{random_date}');''') def downgrade():