feat: add script to create default CMS content pages

Add automated script to generate platform default content pages:

Script (create_default_content_pages.py):
- Creates 7 platform default pages (vendor_id=NULL)
- Content: About, Contact, FAQ, Shipping, Returns, Privacy, Terms
- Comprehensive, production-ready content for each page
- Idempotent - safe to run multiple times (skips existing)
- SEO metadata included for all pages
- Proper navigation flags (footer/header visibility)

Makefile Integration:
- Add 'create-cms-defaults' command
- Integrate into 'db-setup' workflow
- Update help documentation with CMS commands
- Update both 'help' and 'help-db' sections

Workflow:
make db-setup now runs:
  migrate-up → init-prod → create-cms-defaults → seed-demo

This ensures all new developers get:
- Database schema (migrations)
- Admin user (init-prod)
- Default content pages (create-cms-defaults)
- Demo data (seed-demo)

All in one command: make db-setup

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-22 15:55:23 +01:00
parent fef0418d27
commit a555185619
2 changed files with 566 additions and 5 deletions

View File

@@ -122,7 +122,7 @@ else
SEED_MODE=reset $(PYTHON) scripts/seed_demo.py
endif
db-setup: migrate-up init-prod seed-demo
db-setup: migrate-up init-prod create-cms-defaults seed-demo
@echo "✅ Database setup complete!"
@echo "Run 'make dev' to start development server"
@@ -133,6 +133,12 @@ backup-db:
@echo "Creating database backup..."
@$(PYTHON) scripts/backup_database.py
# CMS default content pages
create-cms-defaults:
@echo "📄 Creating default CMS content pages..."
$(PYTHON) scripts/create_default_content_pages.py
@echo "✅ CMS defaults created"
# =============================================================================
# TESTING
# =============================================================================
@@ -314,7 +320,8 @@ help:
@echo " seed-demo - Seed demo data (3 vendors)"
@echo " seed-demo-minimal - Seed minimal demo (1 vendor)"
@echo " seed-demo-reset - DELETE ALL and reseed"
@echo " db-setup - Full dev setup (migrate + init + seed)"
@echo " create-cms-defaults - Create default CMS content pages"
@echo " db-setup - Full dev setup (migrate + init + cms + seed)"
@echo " backup-db - Backup database"
@echo ""
@echo "=== TESTING ==="
@@ -367,15 +374,19 @@ help-db:
@echo " seed-demo-minimal - Create 1 demo vendor only"
@echo " seed-demo-reset - DELETE ALL data and reseed (DANGEROUS!)"
@echo ""
@echo "CMS CONTENT:"
@echo " create-cms-defaults - Create default content pages (about, faq, etc.)"
@echo ""
@echo "WORKFLOWS:"
@echo " db-setup - Complete dev setup (migrate + init + seed)"
@echo " db-setup - Complete dev setup (migrate + init + cms + seed)"
@echo " db-reset - Nuclear option: rollback + reset + reseed"
@echo ""
@echo "TYPICAL FIRST-TIME SETUP:"
@echo " 1. make migrate-up # Apply migrations"
@echo " 2. make init-prod # Create admin user"
@echo " 3. make seed-demo # Add demo data"
@echo " 4. make dev # Start developing"
@echo " 3. make create-cms-defaults # Create CMS pages"
@echo " 4. make seed-demo # Add demo data"
@echo " 5. make dev # Start developing"
@echo ""
@echo "PRODUCTION SETUP:"
@echo " 1. Set ENV=production or ENVIRONMENT=production"