This repository was archived by the owner on Jun 28, 2018. It is now read-only.
feat(mysql): try creating database if not exist#279
Open
JensRantil wants to merge 4 commits intomattes:masterfrom
Open
feat(mysql): try creating database if not exist#279JensRantil wants to merge 4 commits intomattes:masterfrom
JensRantil wants to merge 4 commits intomattes:masterfrom
Conversation
Best-practise according to `gofmt`.
According to `gofmt`.
Golang best-practise. Cleanup made by `gofmt`.
**Background:** Our scenario is that we'd like to be able to create schema from scratch for a brand new staging environment. This new staging environment doesn't have the database created. **Problem:** Having a first migration doing `CREATE DATABASE xxx` doesn't work because a connection to `mysql://tcp(a.b.c.d)/xxx` fails when database driver is trying to switch to the database `xxx`. **Proposed solution:** When `Open(...)`ing a MySQL `Driver`, we always try to create the database if it doesn't exist and _then_ we reestablish a new database connection and ask the MySQL `database/sql/driver.Driver` to make the switch to the database.
Owner
|
I think there is more that needs to be done when setting up a database, i.e. roles and permissions. I'm unsure about this PR. I believe creating the database in the first place might be out of the scope of this migration. But then |
Contributor
Author
|
@mattes Sorry for late answer here. I understand your concern. I definitely think roles and permissions are outside of the scope for |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Background: Our scenario is that we'd like to be able to create schema
from scratch for a brand new staging environment. This new staging
environment doesn't have the database created.
Problem: Having a first migration doing
CREATE DATABASE xxxdoesn'twork because a connection to
mysql://tcp(a.b.c.d)/xxxfails when databasedriver is trying to switch to the database
xxx.Proposed solution: When
Open(...)ing a MySQLDriver, we always tryto create the database if it doesn't exist and then we reestablish a new
database connection and ask the MySQL
database/sql/driver.Driverto makethe switch to the database.
Cred to @LarsAlmgren for helping out with this.