Remove static JSON files and seed step; migrate site settings to Postgres
All content (recipes + imprint/privacy settings) now lives exclusively in Postgres. The app no longer requires a seed step on first deploy. Changes: - helpers.php: load_site_settings() returns defaults when site_settings table is empty instead of throwing DatabaseUnavailableException; removes legacy JSONB migration path - data/recipes.json, data/site.json: deleted (content already in DB) - scripts/db-seed.php: deleted (no longer needed) - docker-compose.yml: remove RUN_DB_SEED env var and data/ volume mount - docker/entrypoint.sh: remove RUN_DB_SEED seed block - docs/COOLIFY.md: update deployment guide to reflect seedless workflow - .claude/launch.json: add dev server configurations for preview tool Fresh deploys now start with placeholder legal pages and an empty recipe list; the admin fills in real content via /admin.php without any CLI step. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -68,3 +68,14 @@ CREATE TABLE IF NOT EXISTS recipe_steps (
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_recipe_steps_slug_lang ON recipe_steps (recipe_slug, lang);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS site_settings (
|
||||
section VARCHAR(32) NOT NULL CHECK (section IN ('imprint', 'privacy')),
|
||||
lang CHAR(2) NOT NULL CHECK (lang IN ('en', 'de')),
|
||||
setting_key VARCHAR(64) NOT NULL,
|
||||
setting_value TEXT NOT NULL DEFAULT '',
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
PRIMARY KEY (section, lang, setting_key)
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_site_settings_section_lang ON site_settings (section, lang);
|
||||
|
||||
Reference in New Issue
Block a user