diff --git a/migrate.go b/migrate.go index fe7bf93..dea2aca 100644 --- a/migrate.go +++ b/migrate.go @@ -39,6 +39,17 @@ func Migrate(db *sql.DB, version int, o Options, asset AssetFunc) error { table := o.TableName if o.Schema != `` { table = o.Schema + `.` + table + + fmt.Println(`Switching to schema:`, o.Schema) + _, err := db.Exec(`CREATE SCHEMA IF NOT EXISTS ` + o.Schema) + if err != nil { + return err + } + + _, err = db.Exec(`SET search_path TO ` + o.Schema + `,public`) + if err != nil { + return err + } } _, err := db.Exec(`CREATE TABLE IF NOT EXISTS ` + table + ` (Version integer NOT NULL PRIMARY KEY)`)