Docker-Images bauen und veroeffentlichen / build-and-push (push) Successful in 2m49s
- Team-Abschnitt mit neun Personen, Eric Heitz als Head of Modelcamp, Portraets im Rundbogen mit Initialen-Platzhaltern bis Fotos vorliegen - Unterkunftsbilder der Villa La Chiesina lokal in public/images/unterkunft (vom Auftraggeber freigegeben), Hero-Leitbild, Ausstattung, Booking-Link - Migration: Termin 08.05.-15.05.2027, Ort Arcidosso (Toskana), eigenes Bett im geteilten Zimmer, 13 Plaetze; Admin-Werte bleiben erhalten - Reveal: kein Hydration-Fehler mehr bei reduzierter Bewegung - Doku zu offenen Punkten aktualisiert Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
39 lines
1.2 KiB
TypeScript
39 lines
1.2 KiB
TypeScript
/**
|
|
* Testdaten NUR fuer Entwicklung und Staging, damit eine Stripe-Testbuchung
|
|
* sofort moeglich ist:
|
|
* - Preisphase "Early Bird" simuliert (wirkt nur mit Stripe-Testschluessel)
|
|
* - ein Test-Gutschein TEST-STAMMMODEL (nicht der Beispielcode aus dem Briefing)
|
|
*
|
|
* Verweigert den Lauf mit APP_ENV=production.
|
|
*/
|
|
import { getDb, CAMP_ID } from "@/lib/db";
|
|
|
|
try {
|
|
process.loadEnvFile();
|
|
} catch {
|
|
// Umgebung kommt aus dem Container.
|
|
}
|
|
|
|
if ((process.env.APP_ENV ?? "development") === "production") {
|
|
console.error("seed-dev laeuft nicht mit APP_ENV=production.");
|
|
process.exit(1);
|
|
}
|
|
|
|
const db = getDb();
|
|
try {
|
|
await db.camp.upsert({
|
|
where: { id: CAMP_ID },
|
|
// Termin und Ort setzt die Migration 20261001120000_camp_2027_bestaetigt.
|
|
create: { id: CAMP_ID, testPhaseOverride: "EARLY_BIRD" },
|
|
update: { testPhaseOverride: "EARLY_BIRD" },
|
|
});
|
|
await db.voucher.upsert({
|
|
where: { code: "TEST-STAMMMODEL" },
|
|
create: { code: "TEST-STAMMMODEL", maxRedemptions: 3, internalNote: "Entwicklung: Testgutschein" },
|
|
update: {},
|
|
});
|
|
console.log("Entwicklungsdaten gesetzt: Early Bird simuliert, Gutschein TEST-STAMMMODEL.");
|
|
} finally {
|
|
await db.$disconnect();
|
|
}
|