As of Go 1.16, the same functionality is now provided by package io or
package os, and those implementations should be preferred in new code.
So replacing all usage of ioutil pkg with io & os.
* used uber atomic bool instead standard in lock/unlock db
* fixing local lock optimization implementation
* fixing mysql local lock optimization implementation
* fixing cockroachdb local lock optimization implementation
* CAS wrapper to automatically restore
* added test for cas with restore
* added atomic lock to sqlite & mongo
* added atomic lock to sqlite & mongo
* fix/refactor test cas restore function
* disable lock for mongo
* mongo local lock before acquiring the db lock
Co-authored-by: a.prinkov <[email protected]>
* Added Firebird support
* Fixed typo
* Refactoring
* Schema migrations table name don't have to be upper case
* Fixed readme
* Added Firebird 2.5 support
* Removed SchemaName
* Refactoring
* Consistently lock in ensureVersionTable and do not call ensureVersionTable from Drop across all database implementations
* Add test for dropping postgres databases
* Fix failing database tests
* Fix CockroachDb test, lock table should be created before versionTable
* Add Initialize() to Driver interface, and add integration tests for Drop() between database implementations and migrate
* Remove Initialize, document breaking behaviour of Drop
* Revert introduction of Initialize method
* Removed Initialize in Stub as well
* Remove call to non-existent Initialize and make sure to close re-initialized database connections
* Revert changes to TestDrop in database/testing
* Split Test and TestMigrate into different test entrypoints
* Remove unused import in migrate_testing
* Remove erroneous code to fix tests
* Add stub source imports to database tests
* Add Stub source to migrate tests
* Use example migrations for tests
* Add file driver to database tests
* Align database directory layout
* Add file source driver to Cassandra
* Review changes
* Minor syntactic change for cleaner diff
- Leaving migrate/testing in case there are unknown consumers
- Add migrate/dktesting package
- Update tests to use migrate/dktesting instead of migrate/testing
This addresses https://github.com/golang-migrate/migrate/issues/90 . The
exported Redshift object no longer exports an embedde 'Driver' however,
so some more work is needed to make this backwards compatible.