Skip to content

Commit 8a02b70

Browse files
authored
Merge pull request #17 from plopezm/develop
HotFix for Migrate
2 parents 851b6d5 + d8b5e46 commit 8a02b70

File tree

3 files changed

+33
-11
lines changed

3 files changed

+33
-11
lines changed

manager/SQLStandardManager.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@ package manager
33
import (
44
"database/sql"
55
"errors"
6+
"reflect"
7+
68
"github.com/jmoiron/sqlx"
79
"github.com/plopezm/goedb/config"
810
"github.com/plopezm/goedb/dialect"
911
"github.com/plopezm/goedb/metadata"
10-
"reflect"
1112
)
1213

1314
// GoedbSQLDriver constains the database connection
@@ -66,12 +67,12 @@ func (sqld *GoedbSQLDriver) GetDBConnection() *sqlx.DB {
6667

6768
// Migrate creates the table in the database
6869
func (sqld *GoedbSQLDriver) Migrate(i interface{}, autoCreate bool, dropIfExists bool) (err error) {
70+
if dropIfExists {
71+
sqld.DropTable(i)
72+
}
6973
table := metadata.ParseModel(i)
7074
metadata.Models[table.Name] = table
7175
if autoCreate {
72-
if dropIfExists {
73-
sqld.DropTable(i)
74-
}
7576
sqltab := dialect.GetSQLCreate(sqld.Dialect, table)
7677
_, err = sqld.db.Exec(sqltab)
7778
}

tests/IT_complex_test.go

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
package tests
22

33
import (
4+
"testing"
5+
46
_ "github.com/lib/pq"
57
_ "github.com/mattn/go-sqlite3"
68
"github.com/plopezm/goedb"
79
"github.com/stretchr/testify/assert"
8-
"testing"
910
)
1011

1112
type TestTroop struct {
@@ -31,14 +32,34 @@ func Test_Goedb_Migrate(t *testing.T) {
3132
assert.NotNil(t, em)
3233

3334
err = em.Migrate(&TestTroop{}, true, true)
34-
if err != nil {
35-
t.Error(err)
36-
}
35+
assert.Nil(t, err)
3736

3837
err = em.Migrate(&TestSoldier{}, true, true)
39-
if err != nil {
40-
t.Error(err)
41-
}
38+
assert.Nil(t, err)
39+
}
40+
41+
func Test_Goedb_Migrate_Recreate(t *testing.T) {
42+
em, err := goedb.GetEntityManager(persistenceUnitItComplexTest)
43+
assert.Nil(t, err)
44+
assert.NotNil(t, em)
45+
46+
err = em.Migrate(&TestTroop{}, true, false)
47+
assert.NotNil(t, err)
48+
49+
err = em.Migrate(&TestSoldier{}, true, false)
50+
assert.NotNil(t, err)
51+
}
52+
53+
func Test_Goedb_Migrate_RecreateWithDrop(t *testing.T) {
54+
em, err := goedb.GetEntityManager(persistenceUnitItComplexTest)
55+
assert.Nil(t, err)
56+
assert.NotNil(t, em)
57+
58+
err = em.Migrate(&TestTroop{}, true, true)
59+
assert.Nil(t, err)
60+
61+
err = em.Migrate(&TestSoldier{}, true, true)
62+
assert.Nil(t, err)
4263
}
4364

4465
func Test_Goedb_Model(t *testing.T) {

tests/debug.test

16.9 MB
Binary file not shown.

0 commit comments

Comments
 (0)