Commit graph

11 commits

Author SHA1 Message Date
d779286084 chore(deps): upgrade TypeScript to v5.5 and enable isolatedDeclarations 2024-06-27 15:38:50 +02:00
57498db248 fix(mysql): close database connections gracefully when using Bun 2024-06-25 08:22:56 +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
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
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
f8a5cc728d fix(storage): make sure the storage initialization crashes when db connection can't be established 2024-02-05 14:50:17 +01:00
cae6d11d53
feat(types): move Emigrate types to separate package and improve types (#41)
* feat(types): move Emigrate types to separate package

Also refactor the types to use discriminating unions for easier error handling and such.
Errors passed to storage plugins should now be serialized and storage plugins are expected to return already serialized errors on failed history entries.

* fix(mysql): handle the new type changes

* fix(storage-fs): handle the new type changes

* feat(cli): better error handling and types

Adapt to the new types from the @emigrate/types package, like discriminating union types and serializing and deserializing errors
2023-12-15 13:03:35 +01:00
a79f8e8e37 feat(plugin-tools): improve error serialization and let each storage plugin serialize errors themselves 2023-12-12 15:32:58 +01:00
703e6f028a feat(storage): add "end" method to storage for cleaning up resources when commands are finished 2023-12-08 13:01:46 +01:00
334e2099bb feat(mysql): implement the first version of the MySQL plugin package 2023-12-08 13:01:45 +01:00