Skip to content

Commit 0fd6466

Browse files
committed
Convert original_author_id column data type to numeric
1 parent e610a6e commit 0fd6466

File tree

2 files changed

+13
-8
lines changed

2 files changed

+13
-8
lines changed

models/migrations/migrations.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -592,7 +592,7 @@ var migrations = []Migration{
592592
// v299 -> v300
593593
NewMigration("Add content version to issue and comment table", v1_23.AddContentVersionToIssueAndComment),
594594
// v300 -> v301
595-
NewMigration("Chnage original_author_id of issue, comments, release, reaction and review table to accomodate OAuth2 UserId", v1_23.changeOriginalAuthorIDDataTypeToNumeric),
595+
NewMigration("Convert original_author_id of issue, comments, release, reaction and review table to numeric", v1_23.ConvertAuthorIDToNumeric),
596596
}
597597

598598
// GetCurrentDBVersion returns the current db version

models/migrations/v1_23/v300.go

+12-7
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,22 @@ package v1_23 //nolint
66
import (
77
"strings"
88

9+
"code.gitea.io/gitea/modules/setting"
910
"xorm.io/xorm"
1011
)
1112

12-
func changeOriginalAuthorIDDataTypeToNumeric(x *xorm.Engine) error {
13+
func ConvertAuthorIDToNumeric(x *xorm.Engine) error {
14+
// Google OAuth2 provider may give very long user IDs
15+
if !setting.Database.Type.IsPostgreSQL() {
16+
return nil
17+
}
1318
sql := strings.Join([]string{
14-
"ALTER TABLE `issue` ALTER COLUMN `original_author_id` TYPE NUMERIC USING `original_author_id`::NUMERIC",
15-
"ALTER TABLE `comment` ALTER COLUMN `original_author_id` TYPE NUMERIC USING `original_author_id`::NUMERIC",
16-
"ALTER TABLE `release` ALTER COLUMN `original_author_id` TYPE NUMERIC USING `original_author_id`::NUMERIC",
17-
"ALTER TABLE `reaction` ALTER COLUMN `original_author_id` TYPE NUMERIC USING `original_author_id`::NUMERIC",
18-
"ALTER TABLE `review` ALTER COLUMN `original_author_id` TYPE NUMERIC USING `original_author_id`::NUMERIC",
19-
}, "; ")
19+
"ALTER TABLE issue ALTER COLUMN original_author_id TYPE NUMERIC USING original_author_id::NUMERIC;",
20+
"ALTER TABLE comment ALTER COLUMN original_author_id TYPE NUMERIC USING original_author_id::NUMERIC;",
21+
"ALTER TABLE release ALTER COLUMN original_author_id TYPE NUMERIC USING original_author_id::NUMERIC;",
22+
"ALTER TABLE reaction ALTER COLUMN original_author_id TYPE NUMERIC USING original_author_id::NUMERIC;",
23+
"ALTER TABLE review ALTER COLUMN original_author_id TYPE NUMERIC USING original_author_id::NUMERIC;",
24+
}, " ")
2025

2126
_, err := x.Exec(sql)
2227
return err

0 commit comments

Comments
 (0)