@@ -6,34 +6,18 @@ import (
6
6
"github.com/mattes/migrate/driver"
7
7
"github.com/mattes/migrate/file"
8
8
"github.com/mattes/migrate/migrate/direction"
9
- "github.com/mattes/migrate/searchpath"
10
9
"io/ioutil"
11
10
"path"
12
11
"strconv"
13
12
"strings"
14
13
)
15
14
16
- func init () {
17
- SetSearchPath ("./db/migrations" , "./migrations" , "./db" )
18
- }
19
-
20
- // Convenience func for searchpath.SetSearchPath(), so users
21
- // don't have to import searchpath
22
- func SetSearchPath (paths ... string ) {
23
- searchpath .SetSearchPath (paths ... )
24
- }
25
-
26
- func common (db string ) (driver.Driver , * file.MigrationFiles , uint64 , error ) {
15
+ func common (db , migrationsPath string ) (driver.Driver , * file.MigrationFiles , uint64 , error ) {
27
16
d , err := driver .New (db )
28
17
if err != nil {
29
18
return nil , nil , 0 , err
30
19
}
31
-
32
- p , err := searchpath .FindPath (file .FilenameRegex (d .FilenameExtension ()))
33
- if err != nil {
34
- return nil , nil , 0 , err
35
- }
36
- files , err := file .ReadMigrationFiles (p , file .FilenameRegex (d .FilenameExtension ()))
20
+ files , err := file .ReadMigrationFiles (migrationsPath , file .FilenameRegex (d .FilenameExtension ()))
37
21
if err != nil {
38
22
return nil , nil , 0 , err
39
23
}
@@ -44,8 +28,8 @@ func common(db string) (driver.Driver, *file.MigrationFiles, uint64, error) {
44
28
return d , & files , version , nil
45
29
}
46
30
47
- func Up (db string ) error {
48
- d , files , version , err := common (db )
31
+ func Up (db , migrationsPath string ) error {
32
+ d , files , version , err := common (db , migrationsPath )
49
33
if err != nil {
50
34
return err
51
35
}
@@ -60,8 +44,8 @@ func Up(db string) error {
60
44
return errors .New ("No migrations to apply." )
61
45
}
62
46
63
- func Down (db string ) error {
64
- d , files , version , err := common (db )
47
+ func Down (db , migrationsPath string ) error {
48
+ d , files , version , err := common (db , migrationsPath )
65
49
if err != nil {
66
50
return err
67
51
}
@@ -76,8 +60,8 @@ func Down(db string) error {
76
60
return errors .New ("No migrations to apply." )
77
61
}
78
62
79
- func Redo (db string ) error {
80
- d , files , version , err := common (db )
63
+ func Redo (db , migrationsPath string ) error {
64
+ d , files , version , err := common (db , migrationsPath )
81
65
if err != nil {
82
66
return err
83
67
}
@@ -100,8 +84,8 @@ func Redo(db string) error {
100
84
return errors .New ("No migrations to apply." )
101
85
}
102
86
103
- func Reset (db string ) error {
104
- d , files , version , err := common (db )
87
+ func Reset (db , migrationsPath string ) error {
88
+ d , files , version , err := common (db , migrationsPath )
105
89
if err != nil {
106
90
return err
107
91
}
@@ -124,8 +108,8 @@ func Reset(db string) error {
124
108
return errors .New ("No migrations to apply." )
125
109
}
126
110
127
- func Migrate (db string , relativeN int ) error {
128
- d , files , version , err := common (db )
111
+ func Migrate (db , migrationsPath string , relativeN int ) error {
112
+ d , files , version , err := common (db , migrationsPath )
129
113
if err != nil {
130
114
return err
131
115
}
@@ -146,30 +130,20 @@ func Migrate(db string, relativeN int) error {
146
130
return errors .New ("No migrations to apply." )
147
131
}
148
132
149
- func Version (db string ) (version uint64 , err error ) {
133
+ func Version (db , migrationsPath string ) (version uint64 , err error ) {
150
134
d , err := driver .New (db )
151
135
if err != nil {
152
136
return 0 , err
153
137
}
154
138
return d .Version ()
155
139
}
156
140
157
- func Create (db , name string ) (* file.MigrationFile , error ) {
141
+ func Create (db , migrationsPath , name string ) (* file.MigrationFile , error ) {
158
142
d , err := driver .New (db )
159
143
if err != nil {
160
144
return nil , err
161
145
}
162
- p , _ := searchpath .FindPath (file .FilenameRegex (d .FilenameExtension ()))
163
- if p == "" {
164
- paths := searchpath .GetSearchPath ()
165
- if len (paths ) > 0 {
166
- p = paths [0 ]
167
- } else {
168
- return nil , errors .New ("Please specify at least one search path." )
169
- }
170
- }
171
-
172
- files , err := file .ReadMigrationFiles (p , file .FilenameRegex (d .FilenameExtension ()))
146
+ files , err := file .ReadMigrationFiles (migrationsPath , file .FilenameRegex (d .FilenameExtension ()))
173
147
if err != nil {
174
148
return nil , err
175
149
}
@@ -193,14 +167,14 @@ func Create(db, name string) (*file.MigrationFile, error) {
193
167
mfile := & file.MigrationFile {
194
168
Version : version ,
195
169
UpFile : & file.File {
196
- Path : p ,
170
+ Path : migrationsPath ,
197
171
FileName : fmt .Sprintf (filenamef , versionStr , name , "up" , d .FilenameExtension ()),
198
172
Name : name ,
199
173
Content : []byte ("" ),
200
174
Direction : direction .Up ,
201
175
},
202
176
DownFile : & file.File {
203
- Path : p ,
177
+ Path : migrationsPath ,
204
178
FileName : fmt .Sprintf (filenamef , versionStr , name , "down" , d .FilenameExtension ()),
205
179
Name : name ,
206
180
Content : []byte ("" ),
0 commit comments