You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: embed plugin migrations in binary — fixes 0/0 status and entity errors
Root cause: plugin migrations used relative filesystem paths
(internal/plugins/*/migrations/) that only resolve when CWD is the project
root. In Docker, the binary runs from /app so migrations were never found,
tables were never created, and entity pages crashed on missing tables.
Fix: each plugin now embeds its migrations/*.sql via Go's embed.FS. The
migration system reads from the embedded FS instead of the filesystem,
making it work regardless of working directory or deployment method.
Changes:
- Add embed.go to each plugin (calendar, maps, sessions, timeline, syncapi)
- Replace PluginSchema.MigrationsDir (string) with MigrationsFS (fs.FS)
- Move RegisteredPlugins() from database pkg to cmd/server (avoids cycles)
- Pass PluginSchemas through App struct to database explorer
- parsePluginMigrations and LatestMigrationVersion now use fs.FS
https://claude.ai/code/session_01QJLkgjQDu5qohzJKGV4hj9
0 commit comments