From 2db424c3f157409603645310a598dd0d974d90bf Mon Sep 17 00:00:00 2001
From: Lauris BH <lauris@nix.lv>
Date: Sat, 23 Sep 2017 11:45:41 +0300
Subject: [PATCH] Fix broken migration to add can_push field back to table
 (#2574)

---
 models/migrations/v43.go | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/models/migrations/v43.go b/models/migrations/v43.go
index b6351fa831..fffe158bf9 100644
--- a/models/migrations/v43.go
+++ b/models/migrations/v43.go
@@ -5,13 +5,21 @@
 package migrations
 
 import (
-	"code.gitea.io/gitea/models"
+	"fmt"
 
 	"github.com/go-xorm/xorm"
 )
 
 func fixProtectedBranchCanPushValue(x *xorm.Engine) error {
-	_, err := x.Cols("can_push").Update(&models.ProtectedBranch{
+	type ProtectedBranch struct {
+		CanPush bool `xorm:"NOT NULL DEFAULT false"`
+	}
+
+	if err := x.Sync2(new(ProtectedBranch)); err != nil {
+		return fmt.Errorf("Sync2: %v", err)
+	}
+
+	_, err := x.Cols("can_push").Update(&ProtectedBranch{
 		CanPush: false,
 	})
 	return err