@@ -12,9 +12,66 @@ import (
12
12
13
13
func recreateUserTableToFixDefaultValues (x * xorm.Engine ) error {
14
14
type User struct {
15
- ID int64 `xorm:"pk autoincr"`
16
- KeepActivityPrivate bool `xorm:"NOT NULL DEFAULT false"`
17
- TmpCol bool `xorm:"NOT NULL DEFAULT false"`
15
+ ID int64 `xorm:"pk autoincr"`
16
+ LowerName string `xorm:"UNIQUE NOT NULL"`
17
+ Name string `xorm:"UNIQUE NOT NULL"`
18
+ FullName string
19
+ Email string `xorm:"NOT NULL"`
20
+ KeepEmailPrivate bool
21
+ EmailNotificationsPreference string `xorm:"VARCHAR(20) NOT NULL DEFAULT 'enabled'"`
22
+ Passwd string `xorm:"NOT NULL"`
23
+ PasswdHashAlgo string `xorm:"NOT NULL DEFAULT 'argon2'"`
24
+
25
+ MustChangePassword bool `xorm:"NOT NULL DEFAULT false"`
26
+
27
+ LoginType int
28
+ LoginSource int64 `xorm:"NOT NULL DEFAULT 0"`
29
+ LoginName string
30
+ Type int
31
+ Location string
32
+ Website string
33
+ Rands string `xorm:"VARCHAR(10)"`
34
+ Salt string `xorm:"VARCHAR(10)"`
35
+ Language string `xorm:"VARCHAR(5)"`
36
+ Description string
37
+
38
+ CreatedUnix int64 `xorm:"INDEX created"`
39
+ UpdatedUnix int64 `xorm:"INDEX updated"`
40
+ LastLoginUnix int64 `xorm:"INDEX"`
41
+
42
+ LastRepoVisibility bool
43
+ MaxRepoCreation int `xorm:"NOT NULL DEFAULT -1"`
44
+
45
+ // Permissions
46
+ IsActive bool `xorm:"INDEX"`
47
+ IsAdmin bool
48
+ IsRestricted bool `xorm:"NOT NULL DEFAULT false"`
49
+ AllowGitHook bool
50
+ AllowImportLocal bool
51
+ AllowCreateOrganization bool `xorm:"DEFAULT true"`
52
+ ProhibitLogin bool `xorm:"NOT NULL DEFAULT false"`
53
+
54
+ // Avatar
55
+ Avatar string `xorm:"VARCHAR(2048) NOT NULL"`
56
+ AvatarEmail string `xorm:"NOT NULL"`
57
+ UseCustomAvatar bool
58
+
59
+ // Counters
60
+ NumFollowers int
61
+ NumFollowing int `xorm:"NOT NULL DEFAULT 0"`
62
+ NumStars int
63
+ NumRepos int
64
+
65
+ // For organization
66
+ NumTeams int
67
+ NumMembers int
68
+ Visibility int `xorm:"NOT NULL DEFAULT 0"`
69
+ RepoAdminChangeTeamAccess bool `xorm:"NOT NULL DEFAULT false"`
70
+
71
+ // Preferences
72
+ DiffViewStyle string `xorm:"NOT NULL DEFAULT ''"`
73
+ Theme string `xorm:"NOT NULL DEFAULT ''"`
74
+ KeepActivityPrivate bool `xorm:"NOT NULL DEFAULT false"`
18
75
}
19
76
20
77
if _ , err := x .Where (builder.IsNull {"keep_activity_private" }).
@@ -33,12 +90,6 @@ func recreateUserTableToFixDefaultValues(x *xorm.Engine) error {
33
90
}
34
91
_ , err := x .Exec ("ALTER TABLE `user` ALTER COLUMN keep_activity_private SET DEFAULT false;" )
35
92
return err
36
- case schemas .MSSQL :
37
- if _ , err := x .Exec ("ALTER TABLE `user` ADD DEFAULT 0 FOR keep_activity_private GO;" ); err != nil {
38
- return err
39
- }
40
- _ , err := x .Exec ("ALTER TABLE `user` ALTER COLUMN keep_activity_private bit NOT NULL GO;" )
41
- return err
42
93
}
43
94
44
95
sess := x .NewSession ()
@@ -47,27 +98,7 @@ func recreateUserTableToFixDefaultValues(x *xorm.Engine) error {
47
98
return err
48
99
}
49
100
50
- if err := sess .Sync2 (new (User )); err != nil {
51
- return err
52
- }
53
-
54
- if _ , err := sess .Exec ("UPDATE `user` SET tmp_col=keep_activity_private;" ); err != nil {
55
- return err
56
- }
57
-
58
- if err := dropTableColumns (sess , "user" , "keep_activity_private" ); err != nil {
59
- return err
60
- }
61
-
62
- if err := sess .Sync2 (new (User )); err != nil {
63
- return err
64
- }
65
-
66
- if _ , err := sess .Exec ("UPDATE `user` SET keep_activity_private=tmp_col;" ); err != nil {
67
- return err
68
- }
69
-
70
- if err := dropTableColumns (sess , "user" , "tmp_col" ); err != nil {
101
+ if err := recreateTable (sess , new (User )); err != nil {
71
102
return err
72
103
}
73
104
0 commit comments