dnd-hub/apps/server/src/db/migrations/006_wiki_seed.sql
2026-03-16 22:15:15 -04:00

122 lines
4.6 KiB
SQL

-- Seed a handful of wiki pages for visual testing.
-- Uses the first campaign in the DB; does nothing if no campaign exists.
INSERT INTO wiki_pages (campaign_id, guild_id, author_id, title, body_md, category, note_type)
SELECT
c.id,
c.guild_id,
c.created_by,
'The City of Silverkeep',
'# Silverkeep
A walled trade city perched at the confluence of the Arren and Mireth rivers. Population ~40,000. Governed by the **Merchant Council of Five**, each seat held by the head of a major trading house.
## Districts
- **The Warrens** — cramped lower-city tenements; where the party first arrived
- **Coppergate** — artisan quarter, home to the Artificers'' Guild
- **Highmantle** — noble estates and the Council Hall
- **The Docks** — perpetually fog-bound, controlled by the Stevedores'' Brotherhood
## Notable Figures
| Name | Role | Notes |
|------|------|-------|
| Aldara Voss | Council Chair | Rumoured to deal with the Shadow Exchange |
| Dorin Tusk | City Watch Commander | Owes the party a favour |
| "Needle" | Thieves'' Guild contact | Met in Session 3 |
## Lore Hook
The party discovered a tunnel beneath the Warrens leading to a pre-city ruin. The inscription above the entrance read: *"Here the old roads remember."*',
'Locations',
'shared'
FROM campaigns c
LIMIT 1;
INSERT INTO wiki_pages (campaign_id, guild_id, author_id, title, body_md, category, note_type)
SELECT
c.id,
c.guild_id,
c.created_by,
'Aldara Voss — Council Chair',
'# Aldara Voss
**Role:** Chair of the Merchant Council of Five
**Age:** ~55
**Affiliation:** House Voss (textiles & magical reagents)
## Appearance
Tall, severe features. Always wears deep violet robes with silver thread. Never seen without her signet ring — a serpent eating its tail.
## Known Facts
- Has held the Chair seat for 11 years, an unusually long tenure
- Her trade ships have never been raided by the river pirates that plague competitors
- Three political rivals have died of "natural causes" during her tenure
## DM Notes (Public)
The party has met her twice. She was cordial but clearly measuring them. She offered a *"small task"* in Session 4 that the group declined.
## Rumours
> *"They say she doesn''t sleep — that she communes with something in the dark water beneath Highmantle."*
> — overheard at the Gilded Flagon',
'NPCs',
'shared'
FROM campaigns c
LIMIT 1;
INSERT INTO wiki_pages (campaign_id, guild_id, author_id, title, body_md, category, note_type)
SELECT
c.id,
c.guild_id,
c.created_by,
'The Shadow Exchange — DM Notes',
'## What It Actually Is
The Shadow Exchange is not a thieves'' guild — it is a centuries-old **information brokerage** run by a lich named Verath the Pale who was cursed to exist only as written contracts.
Aldara Voss discovered a partial contract in the ruins beneath the Warrens (see Silverkeep). She has been feeding it information about the Council in exchange for "favours" — specifically, eliminating rivals.
## The Contract Mechanic
Anyone who signs a contract with the Exchange is bound. The party may find partial contracts. If a PC signs one (even unknowingly), they are **compelled to fulfil the terms or suffer the curse** (1d6 psychic damage per day of delay, escalating).
## Planned Reveal
Session 7 — the party traces the tunnel to the ruin and finds the Exchange''s archive vault. The contracts for Voss and two other Council members are there.',
'Lore',
'dm'
FROM campaigns c
LIMIT 1;
INSERT INTO wiki_pages (campaign_id, guild_id, author_id, title, body_md, category, note_type)
SELECT
c.id,
c.guild_id,
c.created_by,
'Amulet of Unwritten Paths',
'## Description
A tarnished silver amulet on a black cord. The face shows a compass rose with no cardinal markings — the needle spins freely.
## Properties (Attunement Required)
- **Wayfinding (passive):** The wearer always knows the cardinal directions and cannot become lost by mundane means.
- **Path Unwritten (1/day):** Choose a destination you have visited. The amulet tugs toward an *unexpected route* — never the obvious path. Often leads through forgotten places.
- **Whispers of the Old Roads (1/long rest):** Concentrate for 1 minute. Gain a vision of one path that once existed through the current location — may reveal hidden passages.
## History
Found on a dead courier in the Warrens (Session 2). The courier''s guild mark was scratched off. The party has not yet had it identified.
## DM Note
This ties directly to the pre-city ruin network. Any location the party has visited that sits atop the old tunnel system will cause the needle to spin wildly — a breadcrumb I''m leaving for when they piece it together.',
'Items',
'shared'
FROM campaigns c
LIMIT 1;