Database基础使用方法
不指定connection name下默认使用default相关配置
定义多个Connections
位于/config/database.go定义多个数据库连接对象配置
ConnectionName指定自定义名称,用于非默认链接下链接获取唯一标识
var connections []config.DataBaseConnectionOption
connections = append(connections, config.DataBaseConnectionOption{
ConnectionName: "default",
Username: viper.GetString("db_username"),
Password: viper.GetString("db_password"),
Address: viper.GetString("db_host"),
Port: viper.GetUint("db_port"),
DataBaseName: viper.GetString("db_database"),
TimeZone: viper.GetString("db_timezone"),
Charset: viper.GetString("db_charset"),
CollateCharset: viper.GetString("db_collate_charset"),
Engine: viper.GetString("db_engine"),
})
// add your custom db connections
/* connections = append(connections, config.DataBaseConnectionOption{
ConnectionName: "backend",
Username: viper.GetString("db_backend_username"),
Password: viper.GetString("db_backend_password"),
Address: viper.GetString("db_backend_host"),
Port: viper.GetUint("db_backend_port"),
DataBaseName: viper.GetString("db_backend_database"),
TimeZone: viper.GetString("db_backend_timezone"), // optional
Charset: viper.GetString("db_backend_charset"),a // optional
CollateCharset: viper.GetString("db_backend_collate_charset"), // optional
Engine: viper.GetString("db_backend_engine"), // optional
})
*/
获取指定connection db
framework.GetConnectionDB("custom_name")
migraiton指定connectins创建表结构与增加Column
func (CreateUser1599183480901) Up() error {
err := migration.CreateTable(User{}, migration.MigrationOption{ConnectionName: "custom_name"})
return err
}
func (CreateUser1599183480901) Down() error {
err := migration.DropTable(User{}, migration.MigrationOption{ConnectionName: "custom_name"})
return err
}
framework.TableMigrator(User{}.TableName(), "custom_name").AddColumn()