6.8 KiB
God Mode Database - Actual Schema & Data Inventory
Database: arc-net
Last Updated: 2025-12-16
Connection: postgres://spark-god-mode:***@ykgkos00co4k48480ccs8sow:5432/arc-net
📊 Current Data Inventory
| Table | Count | Purpose |
|---|---|---|
| content_fragments | 6 | ✅ HAS DATA - Content building blocks |
| article_templates | 1 | ✅ HAS DATA - Template structure |
| campaign_masters | 1 | ✅ HAS DATA - Campaign config |
| sites | 1 | ✅ HAS DATA - Site record |
| avatars | 0 | Empty |
| content_blocks | 0 | Empty |
| geo_locations | 0 | Empty |
| pages | 0 | Empty (can be created via UI) |
| posts | 0 | Empty (can be created via UI) |
🎯 Key Content Found
Content Fragments (6 items)
These are the 2000-word article building blocks you mentioned!
Fragment Types:
intro_hook- Opening hook for aesthetic practice CEOsales_letter_core_1- Core sales messagefeature_benefit_meaning- Conversion Architecture System featuresbrunson_bullets- Russell Brunson-style bullet pointsbio_section- Expert bio/credibilityoffer_stack- CTA and offer
Sample Content (intro_hook):
<h1>The $50,000 Mistake: Why Your City Practice is Vulnerable</h1>
<p>Attention Aesthetic Practice CEO, if you operate in City, Alabama,
and worry about wasting $50,000 on Google Ads, this report is essential...</p>
Word Counts:
- intro_hook: 250 words
- sales_letter_core_1: 200 words
- feature_benefit_meaning: 400 words
- brunson_bullets: 300 words
- bio_section: 200 words
- offer_stack: 300 words
Total Content: ~1,650 words of pre-written content! 🎉
Article Template (1 item)
Name: "98765432_Aesthetic Practice CEO"
Structure (12 sections):
[
"intro_hook",
"sales_letter_core_1",
"feature_benefit_meaning",
"brunson_bullets",
"bio_section",
"deep_dive_data_protocol", // ❌ Missing fragment
"deep_dive_logic_core", // ❌ Missing fragment
"infrastructure_vs_website", // ❌ Missing fragment
"compliance_protocol", // ❌ Missing fragment
"technical_debt_trap", // ❌ Missing fragment
"local_dominance", // ❌ Missing fragment
"offer_stack"
]
Status: Template defines 12 sections but only 6 content fragments exist.
Actionable: Can generate a partial page with existing 6 fragments!
Campaign (1 item)
Name: "Chrisamaya.work batch 1"
Type: PSEO (Programmatic SEO)
Status: Active
📋 Complete Schema Reference
content_fragments
id UUID PRIMARY KEY
campaign_id UUID → campaign_masters(id)
fragment_type VARCHAR -- Type identifier (intro_hook, etc.)
content_body TEXT -- HTML content
word_count INTEGER -- Target word count
status VARCHAR -- Status flag
date_created TIMESTAMP
content_hash VARCHAR(64) -- Unique content hash
use_count INTEGER -- Usage tracking
article_templates
id UUID PRIMARY KEY
name VARCHAR
structure_json JSONB -- Array of fragment_type names
date_created TIMESTAMP
campaign_masters
id UUID PRIMARY KEY
name VARCHAR
campaign_type VARCHAR -- 'pseo', etc.
config JSONB
status VARCHAR
created_at TIMESTAMP
updated_at TIMESTAMP
site_id UUID → sites(id)
sites
id UUID PRIMARY KEY
name VARCHAR
domain VARCHAR UNIQUE
config JSONB
created_at TIMESTAMP
updated_at TIMESTAMP
status VARCHAR
site_url TEXT
site_wpjson TEXT
client_id UUID
pages (Empty - Ready for Use)
id UUID PRIMARY KEY
site_id UUID → sites(id)
name VARCHAR
route VARCHAR -- URL route (/about, /services)
html_content TEXT
meta_title VARCHAR(255)
meta_description VARCHAR(512)
status VARCHAR(50) -- draft, published, archived
published_at TIMESTAMPTZ
created_at TIMESTAMPTZ
updated_at TIMESTAMPTZ
UNIQUE(site_id, route)
posts (Empty - Ready for Use)
id UUID PRIMARY KEY
site_id UUID → sites(id)
title VARCHAR(512)
slug VARCHAR(512)
content TEXT
excerpt TEXT
status VARCHAR(50)
meta_title VARCHAR(255)
meta_description VARCHAR(512)
published_at TIMESTAMPTZ
created_at TIMESTAMPTZ
updated_at TIMESTAMPTZ
UNIQUE(site_id, slug)
🎨 What Can Be Built NOW
1. Auto-Generated Sales Page
Using: 6 existing content fragments + template structure
Route: /aesthetic-practice-ceo-report
Content: ~1,650 words of professional sales copy
Niche: Aesthetic practice marketing
2. Custom Pages
Using: Page editor UI (/admin/pages/new)
Capability: Create any HTML page with SEO metadata
3. Blog Posts
Using: Post editor UI (/admin/posts/new)
Capability: Create blog articles with slug-based URLs
🔧 Schema Sync Status
✅ Matches Documentation
sitestable schema ✓pagestable schema ✓poststable schema ✓campaign_masterstable schema ✓
⚠️ Documentation Updates Needed
content_fragments: Usescontent_bodynotcontent✓ (now documented)geo_locations: Usescountrynotcounty✓ (now documented)article_templates: Usesstructure_json✓ (now documented)
📋 Missing from Schema Docs (Need to add)
content_fragmentstablearticle_templatestableavatarstablecontent_blockstablespintax_*tablesheadline_inventorytableblock_usage_statstablevariation_registrytable
🚀 Next Actions
- ✅ Create demo page using real content fragments
- ✅ Test page/post creation UI
- ⏳ Populate missing content fragments (6 more sections needed)
- ⏳ Create avatars (for different personas)
- ⏳ Add geo_locations (for local SEO campaigns)
💾 Connection Info (Synced with Coolify)
Username: spark-god-mode
Password: eEQme6YUWIMYP20bUjf6ZE75BX1HrVMXv9Z5TBsWr8NP94JxjsdnW0NB8vvczHlC
Database: arc-net
Host: ykgkos00co4k48480ccs8sow:5432
Internal URL: postgres://spark-god-mode:***@ykgkos00co4k48480ccs8sow:5432/arc-net
Port Mapping: 3000:5432 (External: 3000, Internal: 5432)
✨ Summary
You have 6 content fragments totaling ~1,650 words of professional sales copy for aesthetic practice CEOs! The template defines the structure, and we can generate a complete sales page from this data right now.
The schema is solid and ready for production use. All CRUD operations work via the shim layer (pages, posts, sites).