v1.21: Live-Stammdaten aus Master-Data-CSV importiert, Sync verworfen, Demo-Reste entfernt
This commit is contained in:
+11
-3
@@ -107,12 +107,20 @@ async function seed() {
|
||||
|
||||
module.exports = { seed }
|
||||
|
||||
/** Der Demo-Bestand (Einheit hs-7) muss existieren, sonst gehören die
|
||||
* Demo-Nachseeds (Zähler/Häuser/Kosten) nicht in diese Datenbank – z. B. nach
|
||||
* dem Live-Import (v1.21) darf nichts mehr nachgeseedet werden. */
|
||||
async function demoBestandVorhanden() {
|
||||
const { rows } = await pool.query(`SELECT 1 FROM units WHERE id = 'hs-7'`)
|
||||
return rows.length > 0
|
||||
}
|
||||
|
||||
/** Zähler-Demo-Daten: idempotent – läuft bei jedem Start und füllt die
|
||||
* Zähler-Tabelle nur, wenn sie leer ist (auch nachträglich auf bestehenden
|
||||
* Datenbanken, z. B. nach dem v1.9-Update). */
|
||||
async function seedeZaehler() {
|
||||
const { rows } = await pool.query('SELECT COUNT(*)::int AS n FROM meters')
|
||||
if (rows[0].n > 0) return false
|
||||
if (rows[0].n > 0 || !(await demoBestandVorhanden())) return false
|
||||
for (const z of meters) {
|
||||
await pool.query(
|
||||
`INSERT INTO meters (id, unit_id, building, nummer, art, stand, stand_am, geaendert_am)
|
||||
@@ -129,7 +137,7 @@ module.exports = { seed, seedeZaehler }
|
||||
* leer ist (auch nachträglich auf bestehenden Datenbanken, z. B. v1.10). */
|
||||
async function seedeHaeuser() {
|
||||
const { rows } = await pool.query('SELECT COUNT(*)::int AS n FROM buildings')
|
||||
if (rows[0].n > 0) return false
|
||||
if (rows[0].n > 0 || !(await demoBestandVorhanden())) return false
|
||||
for (const h of buildings) {
|
||||
await pool.query(
|
||||
`INSERT INTO buildings (name, adresse, baujahr, stockwerke, etagenhoehe, wohneinheiten, quadratmeter)
|
||||
@@ -146,7 +154,7 @@ module.exports = { seed, seedeZaehler, seedeHaeuser }
|
||||
* leer ist (auch nachträglich auf bestehenden Datenbanken, z. B. v1.14). */
|
||||
async function seedeKosten() {
|
||||
const { rows } = await pool.query('SELECT COUNT(*)::int AS n FROM costs')
|
||||
if (rows[0].n > 0) return false
|
||||
if (rows[0].n > 0 || !(await demoBestandVorhanden())) return false
|
||||
for (const k of kosten) {
|
||||
await pool.query(
|
||||
`INSERT INTO costs (id, building, unit_id, jahr, kostenart, betrag, umlegbar, notiz, erfasst_am)
|
||||
|
||||
Reference in New Issue
Block a user