@@ -80,26 +80,9 @@ func removeAllWithRetry(dir string) error {
80
80
return err
81
81
}
82
82
83
- func getEngine () (* xorm.Engine , error ) {
84
- connStr , err := setting .DBConnStr ()
85
- if err != nil {
86
- return nil , err
87
- }
88
-
89
- engine , err := xorm .NewEngine (setting .Database .Type , connStr )
90
- if err != nil {
91
- return nil , err
92
- }
93
- if setting .Database .Type == "mysql" {
94
- engine .Dialect ().SetParams (map [string ]string {"rowFormat" : "DYNAMIC" })
95
- }
96
- engine .SetSchema (setting .Database .Schema )
97
- return engine , nil
98
- }
99
-
100
83
// SetEngine sets the xorm.Engine
101
84
func SetEngine () (* xorm.Engine , error ) {
102
- x , err := getEngine ()
85
+ x , err := models . GetNewEngine ()
103
86
if err != nil {
104
87
return x , fmt .Errorf ("Failed to connect to database: %v" , err )
105
88
}
@@ -190,45 +173,66 @@ func Test_dropTableColumns(t *testing.T) {
190
173
}
191
174
192
175
columns := []string {
193
- "FirstColumn " ,
194
- "ToDropColumn " ,
195
- "AnotherColumn " ,
196
- "CreatedUnix " ,
197
- "UpdatedUnix " ,
176
+ "first_column " ,
177
+ "to_drop_column " ,
178
+ "another_column " ,
179
+ "created_unix " ,
180
+ "updated_unix " ,
198
181
}
199
182
200
183
for i := range columns {
184
+ x .SetMapper (names.GonicMapper {})
201
185
if err := x .Sync2 (new (DropTest )); err != nil {
202
- assert . Fail ( t , " %v" , err )
186
+ t . Errorf ( "unable to create DropTest table: %v" , err )
203
187
return
204
188
}
205
189
sess := x .NewSession ()
206
-
190
+ if err := sess .Begin (); err != nil {
191
+ sess .Close ()
192
+ t .Errorf ("unable to begin transaction: %v" , err )
193
+ return
194
+ }
207
195
if err := dropTableColumns (sess , "drop_test" , columns [i :]... ); err != nil {
208
196
sess .Close ()
209
- assert .Fail (t , "%v" , err )
197
+ t .Errorf ("Unable to drop columns[%d:]: %s from drop_test: %v" , i , columns [i :], err )
198
+ return
199
+ }
200
+ if err := sess .Commit (); err != nil {
201
+ sess .Close ()
202
+ t .Errorf ("unable to commit transaction: %v" , err )
210
203
return
211
204
}
212
205
sess .Close ()
213
- if _ , err := x .DB (). DB . Exec ( "DROP TABLE drop_test" ); err != nil {
214
- assert . Fail ( t , " %v" , err )
206
+ if err := x .DropTables ( new ( DropTest ) ); err != nil {
207
+ t . Errorf ( "unable to drop table: %v" , err )
215
208
return
216
209
}
217
- for j := range columns [i :] {
210
+ for j := range columns [i + 1 :] {
211
+ x .SetMapper (names.GonicMapper {})
218
212
if err := x .Sync2 (new (DropTest )); err != nil {
219
- assert . Fail ( t , " %v" , err )
213
+ t . Errorf ( "unable to create DropTest table: %v" , err )
220
214
return
221
215
}
222
- dropcols := append ([]string {columns [i ]}, columns [j :]... )
216
+ dropcols := append ([]string {columns [i ]}, columns [j + i + 1 :]... )
223
217
sess := x .NewSession ()
218
+ if err := sess .Begin (); err != nil {
219
+ sess .Close ()
220
+ t .Errorf ("unable to begin transaction: %v" , err )
221
+ return
222
+ }
224
223
if err := dropTableColumns (sess , "drop_test" , dropcols ... ); err != nil {
225
224
sess .Close ()
226
- assert .Fail (t , "%v" , err )
225
+ t .Errorf ("Unable to drop columns: %s from drop_test: %v" , dropcols , err )
226
+ return
227
+ }
228
+ if err := sess .Commit (); err != nil {
229
+ sess .Close ()
230
+ t .Errorf ("unable to commit transaction: %v" , err )
227
231
return
228
232
}
229
233
sess .Close ()
230
- if _ , err := x .DB (). DB . Exec ( "DROP TABLE drop_test" ); err != nil {
231
- assert . Fail ( t , " %v" , err )
234
+ if err := x .DropTables ( new ( DropTest ) ); err != nil {
235
+ t . Errorf ( "unable to drop table: %v" , err )
232
236
return
233
237
}
234
238
}
0 commit comments