53 lines
1.3 KiB
JavaScript
53 lines
1.3 KiB
JavaScript
require("dotenv").config();
|
|
|
|
const db = require("../config/database");
|
|
|
|
const categories = [
|
|
["Groente", "🥬"],
|
|
["Fruit", "🍎"],
|
|
["Zuivel", "🥛"],
|
|
["Brood", "🍞"],
|
|
["Dranken", "🥤"],
|
|
["Huishouden", "🧻"]
|
|
];
|
|
|
|
const products = [
|
|
["Melk", "Zuivel"],
|
|
["Bananen", "Fruit"],
|
|
["Brood", "Brood"],
|
|
["Koffie", "Dranken"],
|
|
["WC papier", "Huishouden"]
|
|
];
|
|
|
|
const household = db.prepare(
|
|
"SELECT id FROM households ORDER BY id LIMIT 1"
|
|
).get();
|
|
|
|
if (!household) {
|
|
console.log("Seed overgeslagen: er is nog geen huishouden.");
|
|
process.exit(0);
|
|
}
|
|
|
|
const insertCategory = db.prepare(`
|
|
INSERT OR IGNORE INTO categories (name, icon, household_id) VALUES (?, ?, ?)
|
|
`);
|
|
|
|
const insertProduct = db.prepare(`
|
|
INSERT OR IGNORE INTO products (name, category_id, household_id) VALUES (?, ?, ?)
|
|
`);
|
|
|
|
db.transaction(() => {
|
|
for (const category of categories) {
|
|
insertCategory.run(category[0], category[1], household.id);
|
|
}
|
|
|
|
for (const [name, categoryName] of products) {
|
|
const category = db.prepare(
|
|
"SELECT id FROM categories WHERE name = ? AND household_id = ?"
|
|
).get(categoryName, household.id);
|
|
insertProduct.run(name, category.id, household.id);
|
|
}
|
|
})();
|
|
|
|
console.log("Seed voltooid.");
|