node-pg-migrate
node-pg-migrate copied to clipboard
Check for required property migrationsTable of RunnerOption
Description
Discovered that migrationsTable was actually a required property when converting some JavaScript files to TypeScript.
I had been calling runner() without providing migrationsTable and it seemed to work fine:
await runner({
dbClient: dbClient,
dir: 'db/migrations',
direction: 'up',
})
Behind the scenes I expected it was using the default value of "pgmigrations", same as the CLI.
It was actually coercing the missing value to a string and creating a migrations table named "undefined". Probably not harmful (it certainly wasn't in my case), but a little surprising. Feels more like an unexpected side-effect than a deliberate choice.
Suggested solution
Either
- Default to
"pgmigrations", similar to CLI. Argument against this here (#544). - Throw an error if
migrationsTableis missing.
Alternative
No response
Additional context
No response