* feat: remove dependency on "hashicorp/go-multierror" It seems the project has been unmainted for quite some time already, see for example https://github.com/hashicorp/go-multierror/issues/97 and https://github.com/hashicorp/go-multierror/issues/98. This also removes an uneccessary dependency which slims down the go.mod. Go as of version 1.20 supports appending errors by specifying multiple "%w" formatters in the "fmt.Errorf"[^0] function. [^0]: https://pkg.go.dev/fmt#Errorf * feat: use errors.Join to combine multiple errors As an update to the previous commit 59f084ea3be2e7ec9d912c1a311402b1e4c40df6, use "errors.Join"[^0] instead of multiple "%w" formatters for "fmt.Errorf". [^0]: https://pkg.go.dev/errors#Join * chore: bring back unused util.go file as removing it is a breaking change
MongoDB
- Driver work with mongo through db.runCommands
- Migrations support json format. It contains array of commands for
db.runCommand. Every command is executed in separate request to database - All keys have to be in quotes
" - Examples
Usage
mongodb://user:password@host:port/dbname?query (mongodb+srv:// also works, but behaves a bit differently. See docs for more information)
| URL Query | WithInstance Config | Description |
|---|---|---|
x-migrations-collection |
MigrationsCollection |
Name of the migrations collection |
x-transaction-mode |
TransactionMode |
If set to true wrap commands in transaction. Available only for replica set. Driver is using strconv.ParseBool for parsing |
x-advisory-locking |
true |
Feature flag for advisory locking, if set to false, disable advisory locking |
x-advisory-lock-collection |
migrate_advisory_lock |
The name of the collection to use for advisory locking. |
x-advisory-lock-timeout |
15 |
The max time in seconds that migrate will wait to acquire a lock before failing. |
x-advisory-lock-timeout-interval |
10 |
The max time in seconds between attempts to acquire the advisory lock, the lock is attempted to be acquired using an exponential backoff algorithm. |
dbname |
DatabaseName |
The name of the database to connect to |
user |
The user to sign in as. Can be omitted | |
password |
The user's password. Can be omitted | |
host |
The host to connect to | |
port |
The port to bind to |