MMO Project uses plain numbered SQL files as additive migrations. There is no migration framework — scripts are applied in ascending order usingDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/TaylorZaneKirk/MMO-Project/llms.txt
Use this file to discover all available pages before exploring further.
psql, and each file is purely additive. No migration in the prototype drops columns, truncates tables, or performs destructive schema changes. The entire schema history is reproducible by replaying the files from 001 to the highest available number against a fresh database.
Migration inventory
| File | Purpose |
|---|---|
001_initial_schema.sql | Clean bootstrap schema for a fresh prototype database |
002_equipment_schema.sql | Additive migration for equipment slot definitions and per-character equipment state |
003_item_equipment_metadata.sql | Additive migration for original-script-derived item equipability metadata |
004_leg_item_definitions.sql | Additive seed migration for generated leg equipment item definitions |
005_food_item_definitions.sql | Additive seed migration for implemented food consumable item definitions |
006_ground_items_schema.sql | Additive migration for dropped world items and owner-first visibility timing |
007_ground_item_visibility_notifications.sql | Additive compatibility migration for automatic public drop reveal notifications |
008_skill_equipment_schema.sql | Additive migration for equipment-derived skill bonuses |
009_hand_asset_slot_alignment.sql | Additive correction migration aligning hand equipment metadata to the actual player actor asset folders |
010_runtime_revision_streams.sql | Additive migration for revisioned character/map runtime delta streams |
Applying migrations
Adding a new migration
Create the new file
Create
prototype/sql/NNN_description.sql where NNN is the next sequential number (e.g. 011). Use a short snake_case description that matches the dominant change.Write only additive DDL
The prototype migration convention allows only:
CREATE TABLE(new tables)ALTER TABLE ... ADD COLUMN(new columns on existing tables)CREATE INDEX(new indexes)INSERTseed data
DROP TABLE, DROP COLUMN, TRUNCATE, or any statement that removes existing data or schema.Record module ownership
Open
prototype/sql/MODULE_OWNERSHIP.md and add an entry for any new table, mapping it to the application layer that owns it. If the table crosses an existing module boundary, stop and confirm the boundary is intentional before proceeding.Module ownership
Each SQL table is owned by a specific application layer defined in
prototype/sql/MODULE_OWNERSHIP.md. Check that file before adding a new
table to understand which server module should be its primary consumer. If a
table gains consumers outside its designated boundary during the prototype
checkpoint, stop and review whether module responsibilities are drifting
beyond the approved slice.