57498db248
fix(mysql): close database connections gracefully when using Bun
2024-06-25 08:22:56 +02:00
github-actions[bot]
cf620a191d
chore(release): version packages
2024-05-30 10:16:07 +02:00
ca154fadeb
fix: exclude tsbuildinfo files from published packages for smaller bundles
2024-05-30 10:12:37 +02:00
github-actions[bot]
f300f147fa
chore(release): version packages
2024-05-29 16:23:49 +02:00
44426042cf
feat(mysql,postgres): automatically create the database if it doesn't exist ( fixes #147 )
2024-05-29 16:19:32 +02:00
aef2d7c861
fix(mysql): handle table initialization better in clustered database environments
...
The CREATE TABLE IF NOT EXISTS yields more locks than checking if the table exists using a SELECT first before running CREATE TABLE.
This makes more sense as the table usually already exists, so we optimize for the happy path.
2024-05-29 15:10:59 +02:00
github-actions[bot]
e396266f3d
chore(release): version packages
2024-04-04 14:46:54 +02:00
081ab34cb4
fix(reporter-pino): make sure the Pino reporter outputs logs in Bun environments
2024-04-04 14:43:38 +02:00
github-actions[bot]
d1bd8fc74f
chore(release): version packages
2024-03-15 09:40:25 +01:00
41522094dd
fix(cli): handle the case where the config is returned as an object with a nested default property
2024-02-19 10:59:02 +01:00
github-actions[bot]
6c4e441eff
chore(release): version packages
2024-02-13 13:00:15 +01:00
57a099169e
fix(cli): cleanup AbortSignal event listeners to avoid MaxListenersExceededWarning
2024-02-12 20:59:26 +01:00
github-actions[bot]
ae9e8b1b04
chore(release): version packages
2024-02-12 13:56:28 +01:00
1065322435
fix(pino): show correct statuses for the "list" and "new" commands
2024-02-12 13:47:55 +01:00
17feb2d2c2
fix(mysql): only unreference connections in a Bun environment as it has problems with Node for some reason
2024-02-12 13:35:18 +01:00
github-actions[bot]
0360d0b82f
chore(release): version packages
2024-02-09 14:05:35 +01:00
c838ffb7f3
fix(typescript): load config written in TypeScript without the typescript package when using Bun, Deno or tsx
2024-02-09 14:00:24 +01:00
198aa545eb
fix(mysql): unreference all connections so that the process can exit cleanly
...
In a NodeJS environment it will just work as before, but in a Bun environment it will make the "forced exit" error message disappear and remove the 10 s waiting period when migrations are done.
2024-02-09 13:13:27 +01:00
18382ce961
feat(reporters): add built-in "json" reporter and rename "default" to "pretty"
2024-02-06 09:22:35 +01:00
github-actions[bot]
4e8ac5294d
chore(release): version packages
2024-02-05 15:51:38 +01:00
61cbcbd691
fix(cli): force exiting after 10 seconds should not change the exit code
...
If all migrations have been run successfully we want the exit code to be 0 even though we had to force exit the process.
This is because on some platforms (e.g. Bun) all handles are not cleaned up the same as in NodeJS, so lets be forgiving.
2024-02-05 15:48:55 +01:00
github-actions[bot]
f720aae83d
chore(release): version packages
2024-02-05 15:14:33 +01:00
543b7f6f77
fix(bun): import setTimeout/setInterval from "node:timers" for .unref() to correctly work
2024-02-05 15:12:30 +01:00
db656c2310
chore: enable NPM provenance
2024-02-05 15:08:47 +01:00
github-actions[bot]
ff89dd4f86
chore(release): version packages
2024-02-05 14:54:05 +01:00
f8a5cc728d
fix(storage): make sure the storage initialization crashes when db connection can't be established
2024-02-05 14:50:17 +01:00
ef45be9233
fix(reporters): show number of skipped migrations correctly in command output
2024-02-05 14:17:30 +01:00
0faebbe647
docs(cli): document the relative file path support for the "remove" command
2024-01-26 16:09:49 +01:00
2f6b4d23e0
fix(reporter-default): don't dim decimal points in durations in the default reporter
2024-01-26 16:09:49 +01:00
1f139fd975
feat(remove): rework the "remove" command to be more similar to "up" and "list"
...
The old reporter methods related to the "remove" command is not used anymore and instead the shared `onMigrationStart`, `onMigrationSuccess` and `onMigrationError` methods are used.
Some preparation has also been made to support for removing multiple migrations at once in the future, similar to how the `--from` and `--to` CLI options work for the "up" command.
2024-01-26 16:09:49 +01:00
86e0d52e5c
feat(reporter-pino): adapt to the new Reporter interface
2024-01-26 16:09:49 +01:00
94ad9feae9
feat(types): simplify the EmigrateReporter interface by removing the "remove" specific methods
2024-01-26 16:09:49 +01:00
f2d4bb346e
fix(cli): make sure errors passed to the storage are serialized correctly
2024-01-26 16:09:49 +01:00
f1b9098750
fix(migrations): don't include folders when collecting migrations
...
It should be possible to have folders inside your migrations folder
2024-01-26 09:26:49 +01:00
9109238b86
feat(cli): improve the "up" commands --from and --to options
...
The given values can either be migration names or relative paths to migration files.
The given migration must exist to avoid accidentally running migrations that wasn't intended to run.
2024-01-26 09:13:03 +01:00
github-actions[bot]
986456b038
chore(release): version packages
2024-01-23 11:44:05 +01:00
b56b6daf73
fix(cli): handle migration history entries without file extensions correctly
...
...even when the migration file names include periods in their names.
2024-01-23 11:36:47 +01:00
github-actions[bot]
ea327bbc49
chore(release): version packages
2024-01-22 13:49:54 +01:00
121492b303
fix(cli): sort migrations lexicographically for real
2024-01-22 13:48:09 +01:00
github-actions[bot]
bddb2d6b14
chore(release): version packages
2024-01-22 11:32:48 +01:00
a4da353d5a
feat(cli): add graceful process abort
...
Using an AbortSignal and Promise.race we abandon running migrations that take longer to complete after the process is aborted than the given abortRespite period
2024-01-22 11:30:06 +01:00
ce15648251
feat(types): add type for the onAbort Reporter method
2024-01-22 11:30:06 +01:00
github-actions[bot]
576dfbb124
chore(release): version packages
2024-01-19 13:48:24 +01:00
98adcda37e
fix(reporters): use better wording in the header in the default reporter
...
Also show the number of skipped migrations
2024-01-19 13:43:59 +01:00
f515c8a854
feat(cli): add --no-execution option to the "up" command
...
...which can be used to log manually run migrations as successful or for baselining a database.
2024-01-19 13:43:59 +01:00
e71c318ea5
test(up): structure the up tests in a better way
2024-01-19 13:43:59 +01:00
9ef0fa2776
feat(cli): add --from and --to options to limit what migrations to run
2024-01-19 13:43:59 +01:00
02c142e39a
feat(up): add --limit option to limit the number of migrations to run
2024-01-19 13:43:59 +01:00
bf4d596980
fix(cli): clarify which options that takes parameters
2024-01-19 13:43:59 +01:00
github-actions[bot]
424d3e9903
chore(release): version packages
2024-01-18 15:25:51 +01:00