Run runs all pending up migrations from the given filesystem and directory.
The dir parameter is the path within fsys containing the SQL files
(e.g., "migrations" for an embed.FS rooted at the module).
It is safe to call multiple times; already-applied migrations are skipped.