44package unittest
55
66import (
7- "fmt"
8-
97 "code.gitea.io/gitea/models/db"
108 "code.gitea.io/gitea/modules/auth/password/hash"
119 "code.gitea.io/gitea/modules/setting"
1210 "code.gitea.io/gitea/modules/util"
1311
1412 "xorm.io/xorm"
15- "xorm.io/xorm/schemas"
1613)
1714
1815var defaultFixturesLoader * fixturesLoader
@@ -32,47 +29,7 @@ func InitFixtures(opts FixturesOptions, engine ...*xorm.Engine) (err error) {
3229 return err
3330}
3431
35- func loadFixtureResetSeqPgsql (e * xorm.Engine ) error {
36- results , err := e .QueryString (`SELECT 'SELECT SETVAL(' ||
37- quote_literal(quote_ident(PGT.schemaname) || '.' || quote_ident(S.relname)) ||
38- ', COALESCE(MAX(' ||quote_ident(C.attname)|| '), 1) ) FROM ' ||
39- quote_ident(PGT.schemaname)|| '.'||quote_ident(T.relname)|| ';'
40- FROM pg_class AS S,
41- pg_depend AS D,
42- pg_class AS T,
43- pg_attribute AS C,
44- pg_tables AS PGT
45- WHERE S.relkind = 'S'
46- AND S.oid = D.objid
47- AND D.refobjid = T.oid
48- AND D.refobjid = C.attrelid
49- AND D.refobjsubid = C.attnum
50- AND T.relname = PGT.tablename
51- ORDER BY S.relname;` )
52- if err != nil {
53- return fmt .Errorf ("failed to generate sequence update: %w" , err )
54- }
55- for _ , r := range results {
56- for _ , value := range r {
57- _ , err = e .Exec (value )
58- if err != nil {
59- return fmt .Errorf ("failed to update sequence: %s, error: %w" , value , err )
60- }
61- }
62- }
63- return nil
64- }
65-
6632// LoadFixtures load fixtures for a test database
6733func LoadFixtures () error {
68- if err := defaultFixturesLoader .Load (); err != nil {
69- return err
70- }
71- // Now if we're running postgres we need to tell it to update the sequences
72- if defaultFixturesLoader .engine .Dialect ().URI ().DBType == schemas .POSTGRES {
73- if err := loadFixtureResetSeqPgsql (defaultFixturesLoader .engine ); err != nil {
74- return err
75- }
76- }
77- return nil
34+ return defaultFixturesLoader .Load ()
7835}
0 commit comments