Kirill Muratov 6c96ef02df 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
..

Google Cloud Spanner

Usage

The DSN must be given in the following format.

spanner://projects/{projectId}/instances/{instanceId}/databases/{databaseName}

See Google Spanner Documentation for details.

Param WithInstance Config Description
x-migrations-table MigrationsTable Name of the migrations table
url DatabaseName The full path to the Spanner database resource. If provided as part of Config it must not contain a scheme or query string to match the format projects/{projectId}/instances/{instanceId}/databases/{databaseName}
projectId The Google Cloud Platform project id
instanceId The id of the instance running Spanner
databaseName The name of the Spanner database

Note: Google Cloud Spanner migrations can take a considerable amount of time. The migrations provided as part of the example take about 6 minutes to run on a small instance.

1481574547/u create_users_table (21.354507597s)
1496539702/u add_city_to_users (41.647359754s)
1496601752/u add_index_on_user_emails (2m12.155787369s)
1496602638/u create_books_table (2m30.77299181s)

Testing

To unit test the spanner driver, SPANNER_DATABASE needs to be set. You'll need to sign-up to Google Cloud Platform (GCP) and have a running Spanner instance since it is not possible to run Google Spanner outside GCP.