@@ -12,7 +12,7 @@ import (
12
12
"github.com/golang-migrate/migrate/v4/database"
13
13
"github.com/golang-migrate/migrate/v4/database/multistmt"
14
14
"github.com/hashicorp/go-multierror"
15
- "github.com/neo4j/neo4j-go-driver/neo4j"
15
+ "github.com/neo4j/neo4j-go-driver/v4/ neo4j"
16
16
)
17
17
18
18
func init () {
@@ -91,6 +91,10 @@ func (n *Neo4j) Open(url string) (database.Driver, error) {
91
91
}
92
92
}
93
93
94
+ if encrypted {
95
+ uri .Scheme += "+s"
96
+ }
97
+
94
98
multiStatementMaxSize := DefaultMultiStatementMaxSize
95
99
if s := uri .Query ().Get ("x-multi-statement-max-size" ); s != "" {
96
100
multiStatementMaxSize , err = strconv .Atoi (s )
@@ -101,9 +105,7 @@ func (n *Neo4j) Open(url string) (database.Driver, error) {
101
105
102
106
uri .RawQuery = ""
103
107
104
- driver , err := neo4j .NewDriver (uri .String (), authToken , func (config * neo4j.Config ) {
105
- config .Encrypted = encrypted
106
- })
108
+ driver , err := neo4j .NewDriver (uri .String (), authToken , func (config * neo4j.Config ) {})
107
109
if err != nil {
108
110
return nil , err
109
111
}
@@ -136,10 +138,7 @@ func (n *Neo4j) Unlock() error {
136
138
}
137
139
138
140
func (n * Neo4j ) Run (migration io.Reader ) (err error ) {
139
- session , err := n .driver .Session (neo4j .AccessModeWrite )
140
- if err != nil {
141
- return err
142
- }
141
+ session := n .driver .NewSession (neo4j.SessionConfig {AccessMode : neo4j .AccessModeWrite })
143
142
defer func () {
144
143
if cerr := session .Close (); cerr != nil {
145
144
err = multierror .Append (err , cerr )
@@ -183,10 +182,7 @@ func (n *Neo4j) Run(migration io.Reader) (err error) {
183
182
}
184
183
185
184
func (n * Neo4j ) SetVersion (version int , dirty bool ) (err error ) {
186
- session , err := n .driver .Session (neo4j .AccessModeWrite )
187
- if err != nil {
188
- return err
189
- }
185
+ session := n .driver .NewSession (neo4j.SessionConfig {AccessMode : neo4j .AccessModeWrite })
190
186
defer func () {
191
187
if cerr := session .Close (); cerr != nil {
192
188
err = multierror .Append (err , cerr )
@@ -208,10 +204,7 @@ type MigrationRecord struct {
208
204
}
209
205
210
206
func (n * Neo4j ) Version () (version int , dirty bool , err error ) {
211
- session , err := n .driver .Session (neo4j .AccessModeRead )
212
- if err != nil {
213
- return database .NilVersion , false , err
214
- }
207
+ session := n .driver .NewSession (neo4j.SessionConfig {AccessMode : neo4j .AccessModeRead })
215
208
defer func () {
216
209
if cerr := session .Close (); cerr != nil {
217
210
err = multierror .Append (err , cerr )
@@ -256,10 +249,7 @@ ORDER BY COALESCE(sm.ts, datetime({year: 0})) DESC, sm.version DESC LIMIT 1`,
256
249
}
257
250
258
251
func (n * Neo4j ) Drop () (err error ) {
259
- session , err := n .driver .Session (neo4j .AccessModeWrite )
260
- if err != nil {
261
- return err
262
- }
252
+ session := n .driver .NewSession (neo4j.SessionConfig {AccessMode : neo4j .AccessModeWrite })
263
253
defer func () {
264
254
if cerr := session .Close (); cerr != nil {
265
255
err = multierror .Append (err , cerr )
@@ -273,10 +263,7 @@ func (n *Neo4j) Drop() (err error) {
273
263
}
274
264
275
265
func (n * Neo4j ) ensureVersionConstraint () (err error ) {
276
- session , err := n .driver .Session (neo4j .AccessModeWrite )
277
- if err != nil {
278
- return err
279
- }
266
+ session := n .driver .NewSession (neo4j.SessionConfig {AccessMode : neo4j .AccessModeWrite })
280
267
defer func () {
281
268
if cerr := session .Close (); cerr != nil {
282
269
err = multierror .Append (err , cerr )
@@ -289,8 +276,8 @@ func (n *Neo4j) ensureVersionConstraint() (err error) {
289
276
if err != nil {
290
277
return err
291
278
}
292
- if len (res ) > 0 && len (res [0 ].Values () ) > 0 {
293
- if v , ok := res [0 ].Values () [0 ].(string ); ok {
279
+ if len (res ) > 0 && len (res [0 ].Values ) > 0 {
280
+ if v , ok := res [0 ].Values [0 ].(string ); ok {
294
281
neo4jVersion = semver .Major ("v" + v )
295
282
}
296
283
}
0 commit comments