diff --git a/dialects/dialect.go b/dialects/dialect.go index 4b9976f7..4fdf35e9 100644 --- a/dialects/dialect.go +++ b/dialects/dialect.go @@ -31,7 +31,7 @@ type URI struct { } // SetSchema set schema -func (uri URI) SetSchema(schema string) { +func (uri *URI) SetSchema(schema string) { if uri.DBType == schemas.POSTGRES { uri.Schema = schema } diff --git a/engine_test.go b/engine_test.go index 459d63c4..ab454d0d 100644 --- a/engine_test.go +++ b/engine_test.go @@ -12,6 +12,7 @@ import ( "time" "github.com/stretchr/testify/assert" + "xorm.io/xorm/schemas" ) func TestPingContext(t *testing.T) { @@ -97,3 +98,15 @@ func TestDump(t *testing.T) { assert.NoError(t, err) assert.NoError(t, sess.Commit()) } + +func TestSetSchema(t *testing.T) { + assert.NoError(t, prepareEngine()) + + if testEngine.Dialect().URI().DBType == schemas.POSTGRES { + oldSchema := testEngine.Dialect().URI().Schema + testEngine.SetSchema("my_schema") + assert.EqualValues(t, "my_schema", testEngine.Dialect().URI().Schema) + testEngine.SetSchema(oldSchema) + assert.EqualValues(t, oldSchema, testEngine.Dialect().URI().Schema) + } +}