4 drug intolerance
This commit is contained in:
45
4/data.js
45
4/data.js
@ -150,9 +150,11 @@ const ClassTypes = ['Theory', 'Practice']
|
|||||||
const RegistrationStatuses = ['NotPaid', 'Paid']
|
const RegistrationStatuses = ['NotPaid', 'Paid']
|
||||||
const EquipmentUsageTypes = ['PayOnce', 'PayMonthly']
|
const EquipmentUsageTypes = ['PayOnce', 'PayMonthly']
|
||||||
|
|
||||||
|
const COUNT = 10
|
||||||
|
|
||||||
function Values(callback, factor = 1) {
|
function Values(callback, factor = 1) {
|
||||||
let res = 'VALUES\n'
|
let res = 'VALUES\n'
|
||||||
const count = 5 * factor
|
const count = COUNT * factor
|
||||||
|
|
||||||
for (let i = 0; i < count; i++) {
|
for (let i = 0; i < count; i++) {
|
||||||
res += callback()
|
res += callback()
|
||||||
@ -166,6 +168,15 @@ function Values(callback, factor = 1) {
|
|||||||
return res
|
return res
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function Many(insert, callback) {
|
||||||
|
let res = ''
|
||||||
|
|
||||||
|
for (let i = 0; i < COUNT; i++) {
|
||||||
|
res += insert + ' ' + callback() + ';\n'
|
||||||
|
}
|
||||||
|
return res + '\n'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Person
|
// Person
|
||||||
let script = 'INSERT INTO "Person" (full_name, passwd_hash) ' + Values(() => {
|
let script = 'INSERT INTO "Person" (full_name, passwd_hash) ' + Values(() => {
|
||||||
@ -191,21 +202,22 @@ script += 'INSERT INTO "Studio" (address, capacity, begin_date, duration) ' + Va
|
|||||||
|
|
||||||
// Course
|
// Course
|
||||||
script += 'INSERT INTO "Course" ("Master_id", name, price, deadline_date) ' + Values(() => {
|
script += 'INSERT INTO "Course" ("Master_id", name, price, deadline_date) ' + Values(() => {
|
||||||
return `(${GenInt(1, 6)}, 'курс ${GenMaxUInt(3)}', ${GenPrice()}, ${GenTimestamp()})`
|
return `(${GenInt(1, COUNT + 1)}, 'курс ${GenMaxUInt(3)}', ${GenPrice()}, ${GenTimestamp()})`
|
||||||
})
|
})
|
||||||
|
|
||||||
// Class
|
// Class
|
||||||
script += 'INSERT INTO "Class" (begin_date, "Course_id", "Studio_id", name, type, duration) ' + Values(() => {
|
script += 'INSERT INTO "Class" (begin_date, "Course_id", "Studio_id", name, type, duration) ' + Values(() => {
|
||||||
return `(${GenTimestamp()}, ${GenInt(1, 6)}, ${GenInt(1, 6)}, 'занятие ${GenMaxUInt(100)}', '${ClassTypes[GenMaxUInt(ClassTypes.length)]}', ${GenIntervalHours()})`
|
return `(${GenTimestamp()}, ${GenInt(1, COUNT + 1)}, ${GenInt(1, COUNT + 1)}, 'занятие ${GenMaxUInt(100)}', '${ClassTypes[GenMaxUInt(ClassTypes.length)]}', ${GenIntervalHours()})`
|
||||||
})
|
})
|
||||||
|
|
||||||
// Class_Master
|
// Class_Master
|
||||||
script += `INSERT INTO "Class_Master" ("Class_begin_date", "Class_Course_id", "Master_id")
|
script += Many(`INSERT INTO "Class_Master" ("Class_begin_date", "Class_Course_id", "Master_id")`, () => {
|
||||||
SELECT begin_date, "Course_id", ${GenInt(1, 6)} FROM "Class" LIMIT 1;\n\n`
|
return `SELECT begin_date, "Course_id", ${GenInt(1, COUNT + 1)} FROM "Class" LIMIT 1 OFFSET ${GenInt(0, COUNT)}`
|
||||||
|
})
|
||||||
|
|
||||||
// Registration
|
// Registration
|
||||||
script += 'INSERT INTO "Registration" ("Client_id", "Course_id", date, status) ' + Values(() => {
|
script += 'INSERT INTO "Registration" ("Client_id", "Course_id", date, status) ' + Values(() => {
|
||||||
return `(${GenInt(6, 11)}, ${GenInt(1, 6)}, ${GenTimestamp()}, '${RegistrationStatuses[GenMaxUInt(RegistrationStatuses.length)]}')`
|
return `(${GenInt(COUNT + 1, COUNT * 2 + 1)}, ${GenInt(1, COUNT + 1)}, ${GenTimestamp()}, '${RegistrationStatuses[GenMaxUInt(RegistrationStatuses.length)]}')`
|
||||||
})
|
})
|
||||||
|
|
||||||
// FoodProductEnum
|
// FoodProductEnum
|
||||||
@ -214,17 +226,19 @@ script += 'INSERT INTO "FoodProductEnum" (name, avg_price) ' + Values(() => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
// FoodProduct
|
// FoodProduct
|
||||||
script += `INSERT INTO "FoodProduct" ("FoodProductEnum_id", "Class_begin_date", "Class_Course_id", buy_price, buy_date, delivery_price, delivery_date, expires_date)
|
script += Many(`INSERT INTO "FoodProduct" ("FoodProductEnum_id", "Class_begin_date", "Class_Course_id", buy_price, buy_date, delivery_price, delivery_date, expires_date)`, () => {
|
||||||
SELECT ${GenInt(1, 6)}, begin_date, "Course_id", ${GenPrice()}, ${GenTimestamp()}, ${GenPrice()}, ${GenTimestamp()}, ${GenTimestamp()} FROM "Class" LIMIT 1;\n\n`
|
return `SELECT ${GenInt(1, COUNT + 1)}, begin_date, "Course_id", ${GenPrice()}, ${GenTimestamp()}, ${GenPrice()}, ${GenTimestamp()}, ${GenTimestamp()} FROM "Class" LIMIT 1 OFFSET ${GenInt(0, COUNT)}`
|
||||||
|
})
|
||||||
|
|
||||||
// Equipment
|
// Equipment
|
||||||
script += 'INSERT INTO "Equipment" ("Studio_id", name, usage_price, usage_type, delivery_price, delivery_date) ' + Values(() => {
|
script += 'INSERT INTO "Equipment" ("Studio_id", name, usage_price, usage_type, delivery_price, delivery_date) ' + Values(() => {
|
||||||
return `(${GenInt(1, 6)}, 'оборудование ${GenMaxUInt(100)}', ${GenPrice(300)}, '${EquipmentUsageTypes[GenMaxUInt(EquipmentUsageTypes.length)]}', ${GenPrice(200)}, ${GenTimestamp()})`
|
return `(${GenInt(1, COUNT + 1)}, 'оборудование ${GenMaxUInt(100)}', ${GenPrice(300)}, '${EquipmentUsageTypes[GenMaxUInt(EquipmentUsageTypes.length)]}', ${GenPrice(200)}, ${GenTimestamp()})`
|
||||||
})
|
})
|
||||||
|
|
||||||
// Class_Equipment
|
// Class_Equipment
|
||||||
script += `INSERT INTO "Class_Equipment" ("Class_begin_date", "Class_Course_id", "Equipment_id")
|
script += Many(`INSERT INTO "Class_Equipment" ("Class_begin_date", "Class_Course_id", "Equipment_id")`, () => {
|
||||||
SELECT begin_date, "Course_id", ${GenInt(1, 6)} FROM "Class" LIMIT 1;\n\n`
|
return `SELECT begin_date, "Course_id", ${GenInt(1, COUNT + 1)} FROM "Class" LIMIT 1 OFFSET ${GenInt(0, COUNT)}`
|
||||||
|
})
|
||||||
|
|
||||||
// DrugEnum
|
// DrugEnum
|
||||||
script += 'INSERT INTO "DrugEnum" (name, avg_price) ' + Values(() => {
|
script += 'INSERT INTO "DrugEnum" (name, avg_price) ' + Values(() => {
|
||||||
@ -233,12 +247,17 @@ script += 'INSERT INTO "DrugEnum" (name, avg_price) ' + Values(() => {
|
|||||||
|
|
||||||
// Drug
|
// Drug
|
||||||
script += 'INSERT INTO "Drug" ("DrugEnum_id", "Course_id", buy_price, buy_date, delivery_price, delivery_date, expires_date) ' + Values(() => {
|
script += 'INSERT INTO "Drug" ("DrugEnum_id", "Course_id", buy_price, buy_date, delivery_price, delivery_date, expires_date) ' + Values(() => {
|
||||||
return `(${GenInt(1, 6)}, ${GenInt(1, 6)}, ${GenPrice()}, ${GenTimestamp()}, ${GenPrice()}, ${GenTimestamp()}, ${GenTimestamp()})`
|
return `(${GenInt(1, COUNT + 1)}, ${GenInt(1, COUNT + 1)}, ${GenPrice()}, ${GenTimestamp()}, ${GenPrice()}, ${GenTimestamp()}, ${GenTimestamp()})`
|
||||||
|
})
|
||||||
|
|
||||||
|
// DrugIntolerance
|
||||||
|
script += 'INSERT INTO "DrugIntolerance" ("Person_id", "DrugEnum_id") ' + Values(() => {
|
||||||
|
return `(${GenInt(1, COUNT * 2 + 1)}, ${GenInt(1, COUNT + 1)})`
|
||||||
})
|
})
|
||||||
|
|
||||||
// ActivityLog
|
// ActivityLog
|
||||||
script += 'INSERT INTO "ActivityLog" ("Person_id", action) ' + Values(() => {
|
script += 'INSERT INTO "ActivityLog" ("Person_id", action) ' + Values(() => {
|
||||||
return `(${GenInt(1, 10)}, 'login')`
|
return `(${GenInt(1, COUNT * 2 + 1)}, 'login')`
|
||||||
})
|
})
|
||||||
|
|
||||||
const tables = [
|
const tables = [
|
||||||
|
|||||||
@ -1,7 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
set -exu
|
|
||||||
|
|
||||||
source env.sh
|
source env.sh
|
||||||
psql -e -q -f schema.sql
|
psql -e -q -f schema.sql
|
||||||
psql -e -q -f data.sql
|
psql -e -q -f data.sql
|
||||||
|
|||||||
Reference in New Issue
Block a user