I have a database in postgres and I want to create new schema for new customers. Now for first time when RunSyncb
, it created tables for me in first schema. Now for newly created schema, it is not creating. I am using RegisterDatabse
method for different schemas and having schema name as alias. All different schemas have separate DB string using search_path in connection string.
func DBString() string {
host := fmtSafeGetStringE("config_database.host", "localhost")
// treat the port as string too, as its eventually becoming part of dbstring.
port := fmtSafeGetStringE("config_database.port", "5432")
user := fmtSafeGetStringE("config_database.user", "postgres")
password := fmtSafeGetStringE("config_database.password", "postgres")
return fmt.Sprintf("host=%s port=%s user=%s dbname=%%s password=%s sslmode=disable search_path=%%s", host, port, user, password)}
now for different schemas using
if err = orm.RegisterDataBase("SchemaA", Dialect(), fmt.Sprintf(DBString(), ADMIN_DATABASE, "SchemaA")); err != nil {}
if err = orm.RegisterDataBase("SchemaB", Dialect(), fmt.Sprintf(DBString(), ADMIN_DATABASE, "SchemaB")); err != nil {}
now when I run SyncDB first time, it creates table for SchemaA
if err := orm.RunSyncdb("SchemaA", true, true); err == nil {}
But for SchemaB, it does not.
if err := orm.RunSyncdb("SchemaB", true, true); err == nil {}
Can anybody help?