mirror of
https://github.com/status-im/migrate.git
synced 2025-02-22 16:08:04 +00:00
* 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
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.