fix: populate fsid for legacy NFS exports on migration

Migration 0002 added fsid column with DEFAULT 0 but never
populated existing rows. Now PopulateLegacyFSIDs() runs after 0002
to extract fsid from legacy options string or generate random.

Also: move generateRandomFSID to internal/system to avoid import
cycles. Migration 0004 drops the legacy options column.

Version: 0.3.1 -> 0.3.2
This commit is contained in:
2026-07-06 01:22:16 -04:00
parent b678c8e1a9
commit 0da789cd96
8 changed files with 94 additions and 25 deletions
+6
View File
@@ -73,6 +73,12 @@ func (d *DB) Migrate() error {
if err := d.runMigration(name, string(content)); err != nil {
return fmt.Errorf("apply migration %s: %w", name, err)
}
if name == "0002_nfs_structured.sql" {
if err := d.PopulateLegacyFSIDs(); err != nil {
return fmt.Errorf("populate legacy fsids: %w", err)
}
}
}
return nil
}