- Add migration 000001: initial schema with all lookup tables, core entities,
and app settings table
- Add migration 000002: seed data for printer types, job statuses, material
bases, finishes, modifiers, and default settings
- Add Go model structs in internal/models with json tags and pointer types
for nullable fields
- Add go.mod with pgx dependency
Key decisions:
- FK ON DELETE: RESTRICT on material_base/finish/printer, SET NULL on
optional parents (modifier, spool on print_jobs), CASCADE for usage_logs
- Soft-delete (deleted_at) on spools and print_jobs
- Lookup tables for printer_type and job_status (no raw enums)
- Partial indexes for active spools, barcode scans, low-stock queries
- Settings table with JSONB values for flexible app config
- All identifiers snake_case