Commit Graph
40 Commits
Author SHA1 Message Date
Stéphane Klein b10f5e9868 postgres,pgx: fix SchemaName parameter is ignored ##547 2021-04-25 07:34:19 +02:00
Stéphane KleinandGitHub 267936eff9 Postgres - add x-migrations-table-quoted url query option (#95) (#533)
* Postgres and pgx - Add x-migrations-table-quoted url query option to postgres and pgx drivers (#95)

By default, gomigrate quote migrations table name, if `x-migrations-table-quoted` is enabled, then you must to quote migrations table name manually, for instance `"gomigrate"."schema_migrations"`

* Work In Progress
2021-04-19 14:57:50 -07:00
testtest959andGitHub 06029ba265 Postgres: Add a check to determine if table already exists to elide CREATE query (#526)
* Squash commits

* Format

* Minor refactoring

* Address PR feedback; Add mustRun

* Fix a test assert
2021-03-18 21:03:57 -07:00
Anatoly Rugalev f19abe070c Addressed review comments 2021-02-02 11:24:33 +01:00
Anatoly Rugalev 32963ee38f Support multi-statement execution for PostgreSQL 2021-01-18 12:16:37 +03:00
Dale Hui bdeb9a83fe Correctly mark migrations as dirty when the first down migration fails
Fixes: https://github.com/golang-migrate/migrate/issues/330

Other changes:
  - Cleanup code by using the database.NilVersion constant instead of the magic number -1
2020-04-06 00:07:15 -07:00
Dale Hui 0c12284328 POSTGRES_PASSWORD is now required when using postgres via docker
See: https://github.com/docker-library/postgres/issues/681
2020-02-16 01:37:09 -08:00
Dale Hui 4447ce64dc Drop support for postgres 9.4 and add support for postgres 12
https://www.postgresql.org/about/news/2011/
https://www.postgresql.org/about/news/1976/
2020-02-16 00:38:23 -08:00
Dale Hui fc9600340b Remove unnecessary byte slice arg from TestMigrate() in database/testing 2020-01-03 00:15:52 -08:00
Kirill MuratovandDale Hui 8afa5fa221 Enabled maligned, staticcheck and errcheck linters (#206)
* Enabled maligned check

* Enabled staticcheck

* Fixes for golint

* Enabled errcheck linter

* Added fixes for error check

* Added errcheck for tests

* Fixed test

* Increased golangci-lint deadline for travis

* Increased golangci-lint deadline for travis

* Decreased golangci-lint deadline for travis

* Revert for backward compatibility

* Using log.Println() instead of fmt.Println()

* Handling os.RemoveAll() errors

* Using t.Error(error) instead of t.Errorf("%v", err)

* Using t.Fatal(error) instead of t.Fatalf("%v", err)

* Using fmt.Sprint(sum) instead of t.Srintf("%v", sum)

* Refactoring

* Revert for backward compatibility

* Revert

* go mod tidy

* Added error logging

* Added error logging

* Added error handling

* Added error handling

* Added error logging

* Fix error logging

* Added error handling

* Fix

* Added logging for migr.Buffer()

* Fixes

* Firebird test disabled

* Fixed nolint comment

* Updated firebird docker image version

* Disabled test for firebird 2.5

* Fixed // nolint
2019-04-26 15:47:16 -07:00
Lukas JoergensenandDale Hui 1cc735c192 postgres: Move lock out of ensureVersionTable, for consistency with other SQL operations (#173)
* 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
2019-02-26 15:56:57 -08:00
Tomás Senart ff6cbc9917 postgres: Be explicit about max idle and open conns 2019-01-15 11:28:48 +01:00
Tomás Senart 3ca1d6cd11 postgres: Add comment about connection pool in TestWithInstance_Concurrent 2019-01-15 11:28:48 +01:00
Tomás Senart 18370420c7 postgres: Use sync.WaitGroup in TestWithInstance_Concurrent 2019-01-15 11:28:48 +01:00
Tomás Senart cb49a9f197 fixup! Pass config to WithInstance 2019-01-15 11:28:48 +01:00
Tomás Senart cff46c00d8 postgres: TestWithInstance_Concurrent 2019-01-15 11:28:47 +01:00
Dale Hui 932ef4bbd5 Update supported DB versions 2019-01-12 16:13:26 -08:00
Dale Hui 04b5c714cc Update dktest from v0.2.0 to v0.3.0
- Update ReadyFuncs accordingly
2019-01-08 22:39:26 -08:00
Dale Hui c2ec17eddf Use dktest to run docker tests
- Leaving migrate/testing in case there are unknown consumers
    - Add migrate/dktesting package
    - Update tests to use migrate/dktesting instead of migrate/testing
2019-01-08 05:11:07 -08:00
Dale Hui 435481bcec Use strings.NewReader() instead of bytes.NewReader() when source is a string
- Group imports
2018-11-05 22:50:08 -08:00
Evgeniy Bastrykov ddcb997369 Add support for multi-schema migrations in Postgres
There is lock conflict on parallel migrations in different postgres
schemas. To avoid this conflicts function GenerateAdvisoryLockId added
variadic params to change lock id with schema name. Schema name taked
with postgres CURRENT_SCHEMA function. Null byte used as separator
between database and schema name, because any other symbol may be used
in both of it.

Closes #118
2018-11-05 12:56:38 +04:00
Dale Hui e2a6017efd Use v4 for Go module support 2018-10-10 16:16:23 -07:00
Dale Hui 2b1b184f7f Revert "Remove support for Go modules"
This reverts commit 781565f251.
2018-10-10 16:15:33 -07:00
Dale Hui 781565f251 Remove support for Go modules 2018-10-10 13:34:03 -07:00
Dale Hui 898723524b Fix module support by opting in to modules 2018-09-14 01:14:42 -07:00
Dale Hui 187ec5b5a8 Add support for postgres 10 and drop support for postgres 9.2
https://www.postgresql.org/support/versioning/
2018-08-12 15:54:21 -07:00
Damir Vandic 7b062e3a90 Support postgres non-ascii error parsing 2018-07-09 11:39:29 +02:00
Damir Vandic 3d8ce20d47 Add postgres lib/pq error parsing 2018-07-07 12:17:38 +02:00
Dale Hui 55129a24e7 Rename Postgres.db to Postgres.conn 2018-02-20 15:40:20 -08:00
Dale Hui 11f4059c1c Merge remote-tracking branch 'origin/master' into postgres-lock-fix 2018-02-20 15:32:34 -08:00
Dale Hui 5cb6ce370d MySQL and Postgres db driver test improvements
- Log unexpected connection errors while waiting for the docker image to start
    - Don't leave connections open
2018-01-20 00:11:35 -08:00
Dale Hui 75bf87f76c Update imports to reference fork.
Thanks `make rewrite-import-paths`!
2018-01-19 10:56:55 -08:00
Teddy Schmitz 6ee0a34b96 Use db.Conn to fix postgres lock/unlock 2017-10-27 10:56:10 +08:00
Matthias Kadenbach 54bd45727f add mysql driver, add ENV to docker containers 2017-02-28 15:10:56 -08:00
Matthias Kadenbach c30f8d6db2 bring back dirty state from v2 2017-02-19 15:15:00 -08:00
Matthias Kadenbach 1f30a571dd drop custom query params 2017-02-17 16:59:47 -08:00
Matthias Kadenbach 52b7ef96d2 add multi statement test 2017-02-16 22:10:01 -08:00
Matthias Kadenbach 3cbbd75add add database lock timeouts in migrate and in tests 2017-02-11 19:15:54 -08:00
Matthias Kadenbach 3cc548ba2a fixing travis 2017-02-08 01:49:57 -08:00
Matthias Kadenbach b3f9ba012e initial version 3.0.0 preview
hard work
2017-02-07 22:01:29 -08:00