summaryrefslogtreecommitdiffstats
path: root/models/migrations/v51.go
diff options
context:
space:
mode:
authorLauris BH <lauris@nix.lv>2017-12-13 16:52:18 +0200
committerGitHub <noreply@github.com>2017-12-13 16:52:18 +0200
commitc06cc740dea46f3aff58e0eded4208232bb5902d (patch)
tree8f17cf90828fb06133a14cdee2df67ea6db75550 /models/migrations/v51.go
parentd3c5911ffce8758d020b301e667869aa2e80ce6a (diff)
downloadgitea-c06cc740dea46f3aff58e0eded4208232bb5902d.tar.gz
gitea-c06cc740dea46f3aff58e0eded4208232bb5902d.zip
Reorder migrations, skip errors if running migration again (#3160)
* Reorder migrations, skip errors if running migration again * Rename migration file names to match migration version * Add note about ingored error
Diffstat (limited to 'models/migrations/v51.go')
-rw-r--r--models/migrations/v51.go42
1 files changed, 42 insertions, 0 deletions
diff --git a/models/migrations/v51.go b/models/migrations/v51.go
new file mode 100644
index 0000000000..85e903bbe7
--- /dev/null
+++ b/models/migrations/v51.go
@@ -0,0 +1,42 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package migrations
+
+import (
+ "code.gitea.io/gitea/models"
+ "code.gitea.io/gitea/modules/log"
+
+ "github.com/go-xorm/xorm"
+)
+
+func addDefaultValueToUserProhibitLogin(x *xorm.Engine) (err error) {
+ user := &models.User{
+ ProhibitLogin: false,
+ }
+
+ if _, err := x.Where("`prohibit_login` IS NULL").Cols("prohibit_login").Update(user); err != nil {
+ return err
+ }
+
+ dialect := x.Dialect().DriverName()
+
+ switch dialect {
+ case "mysql":
+ _, err = x.Exec("ALTER TABLE user MODIFY `prohibit_login` tinyint(1) NOT NULL DEFAULT 0")
+ case "postgres":
+ _, err = x.Exec("ALTER TABLE \"user\" ALTER COLUMN `prohibit_login` SET NOT NULL, ALTER COLUMN `prohibit_login` SET DEFAULT false")
+ case "mssql":
+ // xorm already set DEFAULT 0 for data type BIT in mssql
+ _, err = x.Exec(`ALTER TABLE [user] ALTER COLUMN "prohibit_login" BIT NOT NULL`)
+ case "sqlite3":
+ }
+
+ if err != nil {
+ // Ignoring this error in case we run this migration second time (after migration reordering)
+ log.Warn("Error changing user prohibit_login column definition (skipping): %v", err)
+ }
+
+ return nil
+}