mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-05-25 11:22:16 +00:00
Move database settings from models to setting (#7806)
* move database settings from models to setting * update docs * fix checkout pr * fix tests * fix lint * remove unsupported tidb options * correct wrong variable name * remove tidb totally
This commit is contained in:
parent
26af3401c3
commit
f83db078f0
35 changed files with 423 additions and 376 deletions
|
@ -296,7 +296,7 @@ func dropTableColumns(sess *xorm.Session, tableName string, columnNames ...strin
|
|||
// TODO: This will not work if there are foreign keys
|
||||
|
||||
switch {
|
||||
case setting.UseSQLite3:
|
||||
case setting.Database.UseSQLite3:
|
||||
// First drop the indexes on the columns
|
||||
res, errIndex := sess.Query(fmt.Sprintf("PRAGMA index_list(`%s`)", tableName))
|
||||
if errIndex != nil {
|
||||
|
@ -372,7 +372,7 @@ func dropTableColumns(sess *xorm.Session, tableName string, columnNames ...strin
|
|||
return err
|
||||
}
|
||||
|
||||
case setting.UsePostgreSQL:
|
||||
case setting.Database.UsePostgreSQL:
|
||||
cols := ""
|
||||
for _, col := range columnNames {
|
||||
if cols != "" {
|
||||
|
@ -383,7 +383,7 @@ func dropTableColumns(sess *xorm.Session, tableName string, columnNames ...strin
|
|||
if _, err := sess.Exec(fmt.Sprintf("ALTER TABLE `%s` %s", tableName, cols)); err != nil {
|
||||
return fmt.Errorf("Drop table `%s` columns %v: %v", tableName, columnNames, err)
|
||||
}
|
||||
case setting.UseMySQL, setting.UseTiDB:
|
||||
case setting.Database.UseMySQL:
|
||||
// Drop indexes on columns first
|
||||
sql := fmt.Sprintf("SHOW INDEX FROM %s WHERE column_name IN ('%s')", tableName, strings.Join(columnNames, "','"))
|
||||
res, err := sess.Query(sql)
|
||||
|
@ -409,7 +409,7 @@ func dropTableColumns(sess *xorm.Session, tableName string, columnNames ...strin
|
|||
if _, err := sess.Exec(fmt.Sprintf("ALTER TABLE `%s` %s", tableName, cols)); err != nil {
|
||||
return fmt.Errorf("Drop table `%s` columns %v: %v", tableName, columnNames, err)
|
||||
}
|
||||
case setting.UseMSSQL:
|
||||
case setting.Database.UseMSSQL:
|
||||
cols := ""
|
||||
for _, col := range columnNames {
|
||||
if cols != "" {
|
||||
|
|
|
@ -42,7 +42,7 @@ func generateAndMigrateGitHooks(x *xorm.Engine) (err error) {
|
|||
}
|
||||
)
|
||||
|
||||
return x.Where("id > 0").BufferSize(setting.IterateBufferSize).Iterate(new(Repository),
|
||||
return x.Where("id > 0").BufferSize(setting.Database.IterateBufferSize).Iterate(new(Repository),
|
||||
func(idx int, bean interface{}) error {
|
||||
repo := bean.(*Repository)
|
||||
user := new(User)
|
||||
|
|
|
@ -42,7 +42,7 @@ func generateAndMigrateWikiGitHooks(x *xorm.Engine) (err error) {
|
|||
}
|
||||
)
|
||||
|
||||
return x.Where("id > 0").BufferSize(setting.IterateBufferSize).Iterate(new(Repository),
|
||||
return x.Where("id > 0").BufferSize(setting.Database.IterateBufferSize).Iterate(new(Repository),
|
||||
func(idx int, bean interface{}) error {
|
||||
repo := bean.(*Repository)
|
||||
user := new(User)
|
||||
|
|
|
@ -36,7 +36,7 @@ func generateAndMigrateGitHookChains(x *xorm.Engine) (err error) {
|
|||
hookTpl = fmt.Sprintf("#!/usr/bin/env %s\ndata=$(cat)\nexitcodes=\"\"\nhookname=$(basename $0)\nGIT_DIR=${GIT_DIR:-$(dirname $0)}\n\nfor hook in ${GIT_DIR}/hooks/${hookname}.d/*; do\ntest -x \"${hook}\" || continue\necho \"${data}\" | \"${hook}\"\nexitcodes=\"${exitcodes} $?\"\ndone\n\nfor i in ${exitcodes}; do\n[ ${i} -eq 0 ] || exit ${i}\ndone\n", setting.ScriptType)
|
||||
)
|
||||
|
||||
return x.Where("id > 0").BufferSize(setting.IterateBufferSize).Iterate(new(Repository),
|
||||
return x.Where("id > 0").BufferSize(setting.Database.IterateBufferSize).Iterate(new(Repository),
|
||||
func(idx int, bean interface{}) error {
|
||||
repo := bean.(*Repository)
|
||||
user := new(User)
|
||||
|
|
|
@ -41,8 +41,6 @@ func convertIntervalToDuration(x *xorm.Engine) (err error) {
|
|||
_, err = sess.Exec("ALTER TABLE mirror MODIFY `interval` BIGINT")
|
||||
case "postgres":
|
||||
_, err = sess.Exec("ALTER TABLE mirror ALTER COLUMN \"interval\" SET DATA TYPE bigint")
|
||||
case "tidb":
|
||||
_, err = sess.Exec("ALTER TABLE mirror MODIFY `interval` BIGINT")
|
||||
case "mssql":
|
||||
_, err = sess.Exec("ALTER TABLE mirror ALTER COLUMN \"interval\" BIGINT")
|
||||
case "sqlite3":
|
||||
|
|
|
@ -15,9 +15,9 @@ import (
|
|||
|
||||
func removeActionColumns(x *xorm.Engine) error {
|
||||
switch {
|
||||
case setting.UseSQLite3:
|
||||
case setting.Database.UseSQLite3:
|
||||
log.Warn("Unable to drop columns in SQLite")
|
||||
case setting.UseMySQL, setting.UsePostgreSQL, setting.UseMSSQL, setting.UseTiDB:
|
||||
case setting.Database.UseMySQL, setting.Database.UsePostgreSQL, setting.Database.UseMSSQL:
|
||||
if _, err := x.Exec("ALTER TABLE action DROP COLUMN act_user_name"); err != nil {
|
||||
return fmt.Errorf("DROP COLUMN act_user_name: %v", err)
|
||||
} else if _, err = x.Exec("ALTER TABLE action DROP COLUMN repo_user_name"); err != nil {
|
||||
|
|
|
@ -13,9 +13,9 @@ import (
|
|||
|
||||
func removeIndexColumnFromRepoUnitTable(x *xorm.Engine) (err error) {
|
||||
switch {
|
||||
case setting.UseSQLite3:
|
||||
case setting.Database.UseSQLite3:
|
||||
log.Warn("Unable to drop columns in SQLite")
|
||||
case setting.UseMySQL, setting.UsePostgreSQL, setting.UseMSSQL, setting.UseTiDB:
|
||||
case setting.Database.UseMySQL, setting.Database.UsePostgreSQL, setting.Database.UseMSSQL:
|
||||
if _, err := x.Exec("ALTER TABLE repo_unit DROP COLUMN `index`"); err != nil {
|
||||
// Ignoring this error in case we run this migration second time (after migration reordering)
|
||||
log.Warn("DROP COLUMN index: %v", err)
|
||||
|
|
|
@ -40,9 +40,9 @@ func migrateProtectedBranchStruct(x *xorm.Engine) error {
|
|||
}
|
||||
|
||||
switch {
|
||||
case setting.UseSQLite3:
|
||||
case setting.Database.UseSQLite3:
|
||||
log.Warn("Unable to drop columns in SQLite")
|
||||
case setting.UseMySQL, setting.UsePostgreSQL, setting.UseMSSQL, setting.UseTiDB:
|
||||
case setting.Database.UseMySQL, setting.Database.UsePostgreSQL, setting.Database.UseMSSQL:
|
||||
if _, err := x.Exec("ALTER TABLE protected_branch DROP COLUMN can_push"); err != nil {
|
||||
// Ignoring this error in case we run this migration second time (after migration reordering)
|
||||
log.Warn("DROP COLUMN can_push (skipping): %v", err)
|
||||
|
|
|
@ -80,7 +80,7 @@ func removeStaleWatches(x *xorm.Engine) error {
|
|||
}
|
||||
|
||||
repoCache := make(map[int64]*Repository)
|
||||
err := sess.BufferSize(setting.IterateBufferSize).Iterate(new(Watch),
|
||||
err := sess.BufferSize(setting.Database.IterateBufferSize).Iterate(new(Watch),
|
||||
func(idx int, bean interface{}) error {
|
||||
watch := bean.(*Watch)
|
||||
|
||||
|
@ -117,7 +117,7 @@ func removeStaleWatches(x *xorm.Engine) error {
|
|||
}
|
||||
|
||||
repoCache = make(map[int64]*Repository)
|
||||
err = sess.BufferSize(setting.IterateBufferSize).
|
||||
err = sess.BufferSize(setting.Database.IterateBufferSize).
|
||||
Distinct("issue_watch.user_id", "issue.repo_id").
|
||||
Join("INNER", "issue", "issue_watch.issue_id = issue.id").
|
||||
Where("issue_watch.is_watching = ?", true).
|
||||
|
|
|
@ -14,8 +14,6 @@ func changeU2FCounterType(x *xorm.Engine) error {
|
|||
var err error
|
||||
|
||||
switch x.Dialect().DriverName() {
|
||||
case "tidb":
|
||||
fallthrough
|
||||
case "mysql":
|
||||
_, err = x.Exec("ALTER TABLE `u2f_registration` MODIFY `counter` BIGINT")
|
||||
case "postgres":
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue