mirror of
https://github.com/writefreely/writefreely
synced 2024-11-28 11:30:18 +00:00
Break up v5 table ALTERs for SQLite
Combining all operations into a single query was causing problems in SQLite. This fixes that by breaking them up into separate queries. It also moves one column length change to only run on MySQL, since SQLite doesn't need it.
This commit is contained in:
parent
f1ffcf96ec
commit
bb5da1d3f5
1 changed files with 22 additions and 10 deletions
|
@ -20,30 +20,30 @@ func oauthSlack(db *datastore) error {
|
||||||
Column(
|
Column(
|
||||||
"provider",
|
"provider",
|
||||||
wf_db.ColumnTypeVarChar,
|
wf_db.ColumnTypeVarChar,
|
||||||
wf_db.OptionalInt{Set: true, Value: 24,})).
|
wf_db.OptionalInt{Set: true, Value: 24})),
|
||||||
|
dialect.
|
||||||
|
AlterTable("oauth_client_states").
|
||||||
AddColumn(dialect.
|
AddColumn(dialect.
|
||||||
Column(
|
Column(
|
||||||
"client_id",
|
"client_id",
|
||||||
wf_db.ColumnTypeVarChar,
|
wf_db.ColumnTypeVarChar,
|
||||||
wf_db.OptionalInt{Set: true, Value: 128,})),
|
wf_db.OptionalInt{Set: true, Value: 128})),
|
||||||
dialect.
|
dialect.
|
||||||
AlterTable("oauth_users").
|
AlterTable("oauth_users").
|
||||||
ChangeColumn("remote_user_id",
|
|
||||||
dialect.
|
|
||||||
Column(
|
|
||||||
"remote_user_id",
|
|
||||||
wf_db.ColumnTypeVarChar,
|
|
||||||
wf_db.OptionalInt{Set: true, Value: 128,})).
|
|
||||||
AddColumn(dialect.
|
AddColumn(dialect.
|
||||||
Column(
|
Column(
|
||||||
"provider",
|
"provider",
|
||||||
wf_db.ColumnTypeVarChar,
|
wf_db.ColumnTypeVarChar,
|
||||||
wf_db.OptionalInt{Set: true, Value: 24,})).
|
wf_db.OptionalInt{Set: true, Value: 24})),
|
||||||
|
dialect.
|
||||||
|
AlterTable("oauth_users").
|
||||||
AddColumn(dialect.
|
AddColumn(dialect.
|
||||||
Column(
|
Column(
|
||||||
"client_id",
|
"client_id",
|
||||||
wf_db.ColumnTypeVarChar,
|
wf_db.ColumnTypeVarChar,
|
||||||
wf_db.OptionalInt{Set: true, Value: 128,})).
|
wf_db.OptionalInt{Set: true, Value: 128})),
|
||||||
|
dialect.
|
||||||
|
AlterTable("oauth_users").
|
||||||
AddColumn(dialect.
|
AddColumn(dialect.
|
||||||
Column(
|
Column(
|
||||||
"access_token",
|
"access_token",
|
||||||
|
@ -51,6 +51,18 @@ func oauthSlack(db *datastore) error {
|
||||||
wf_db.OptionalInt{Set: true, Value: 512,})),
|
wf_db.OptionalInt{Set: true, Value: 512,})),
|
||||||
dialect.CreateUniqueIndex("oauth_users", "oauth_users", "user_id", "provider", "client_id"),
|
dialect.CreateUniqueIndex("oauth_users", "oauth_users", "user_id", "provider", "client_id"),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if dialect != wf_db.DialectSQLite {
|
||||||
|
// This updates the length of the `remote_user_id` column. It isn't needed for SQLite databases.
|
||||||
|
builders = append(builders, dialect.
|
||||||
|
AlterTable("oauth_users").
|
||||||
|
ChangeColumn("remote_user_id",
|
||||||
|
dialect.
|
||||||
|
Column(
|
||||||
|
"remote_user_id",
|
||||||
|
wf_db.ColumnTypeVarChar,
|
||||||
|
wf_db.OptionalInt{Set: true, Value: 128})))
|
||||||
|
}
|
||||||
for _, builder := range builders {
|
for _, builder := range builders {
|
||||||
query, err := builder.ToSQL()
|
query, err := builder.ToSQL()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Reference in a new issue