database.md 2.09 KB

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()