@@ -60,11 +60,6 @@ func LoadDBSetting() {
60
60
func loadDBSetting (rootCfg ConfigProvider ) {
61
61
sec := rootCfg .Section ("database" )
62
62
Database .Type = DatabaseType (sec .Key ("DB_TYPE" ).String ())
63
- defaultCharset := "utf8"
64
-
65
- if Database .Type .IsMySQL () {
66
- defaultCharset = "utf8mb4"
67
- }
68
63
69
64
Database .Host = sec .Key ("HOST" ).String ()
70
65
Database .Name = sec .Key ("NAME" ).String ()
@@ -74,9 +69,10 @@ func loadDBSetting(rootCfg ConfigProvider) {
74
69
}
75
70
Database .Schema = sec .Key ("SCHEMA" ).String ()
76
71
Database .SSLMode = sec .Key ("SSL_MODE" ).MustString ("disable" )
77
- Database .Charset = sec .Key ("CHARSET" ).In (defaultCharset , []string {"utf8" , "utf8mb4" })
78
- if Database .Type .IsMySQL () && defaultCharset != "utf8mb4" {
79
- log .Error ("Deprecated database mysql charset utf8 support, please use utf8mb4 or convert utf8 to utf8mb4." )
72
+
73
+ Database .Charset = sec .Key ("CHARSET" ).MustString ("utf8mb4" )
74
+ if Database .Type .IsMySQL () && Database .Charset != "utf8mb4" {
75
+ log .Error (`Deprecated database mysql charset utf8 support, please use utf8mb4 and convert utf8 database to utf8mb4 by "gitea convert".` )
80
76
}
81
77
82
78
Database .Path = sec .Key ("PATH" ).MustString (filepath .Join (AppDataPath , "gitea.db" ))
@@ -101,9 +97,9 @@ func loadDBSetting(rootCfg ConfigProvider) {
101
97
// DBConnStr returns database connection string
102
98
func DBConnStr () (string , error ) {
103
99
var connStr string
104
- Param := "?"
105
- if strings .Contains (Database .Name , Param ) {
106
- Param = "&"
100
+ paramSep := "?"
101
+ if strings .Contains (Database .Name , paramSep ) {
102
+ paramSep = "&"
107
103
}
108
104
switch Database .Type {
109
105
case "mysql" :
@@ -116,15 +112,15 @@ func DBConnStr() (string, error) {
116
112
tls = "false"
117
113
}
118
114
connStr = fmt .Sprintf ("%s:%s@%s(%s)/%s%scharset=%s&parseTime=true&tls=%s" ,
119
- Database .User , Database .Passwd , connType , Database .Host , Database .Name , Param , Database .Charset , tls )
115
+ Database .User , Database .Passwd , connType , Database .Host , Database .Name , paramSep , Database .Charset , tls )
120
116
case "postgres" :
121
- connStr = getPostgreSQLConnectionString (Database .Host , Database .User , Database .Passwd , Database .Name , Param , Database .SSLMode )
117
+ connStr = getPostgreSQLConnectionString (Database .Host , Database .User , Database .Passwd , Database .Name , paramSep , Database .SSLMode )
122
118
case "mssql" :
123
119
host , port := ParseMSSQLHostPort (Database .Host )
124
120
connStr = fmt .Sprintf ("server=%s; port=%s; database=%s; user id=%s; password=%s;" , host , port , Database .Name , Database .User , Database .Passwd )
125
121
case "sqlite3" :
126
122
if ! EnableSQLite3 {
127
- return "" , errors .New ("this binary version does not build support for SQLite3" )
123
+ return "" , errors .New ("this Gitea binary was not built with SQLite3 support " )
128
124
}
129
125
if err := os .MkdirAll (path .Dir (Database .Path ), os .ModePerm ); err != nil {
130
126
return "" , fmt .Errorf ("Failed to create directories: %w" , err )
@@ -136,7 +132,7 @@ func DBConnStr() (string, error) {
136
132
connStr = fmt .Sprintf ("file:%s?cache=shared&mode=rwc&_busy_timeout=%d&_txlock=immediate%s" ,
137
133
Database .Path , Database .Timeout , journalMode )
138
134
default :
139
- return "" , fmt .Errorf ("Unknown database type: %s" , Database .Type )
135
+ return "" , fmt .Errorf ("unknown database type: %s" , Database .Type )
140
136
}
141
137
142
138
return connStr , nil
0 commit comments