예제 #1
0
파일: backup.go 프로젝트: sguzwf/galaxy
func restoreApp(bkup *appCfg, env string) error {
	fmt.Println("restoring", bkup.Name)

	var svcCfg gconfig.App

	exists, err := configStore.AppExists(bkup.Name, env)
	if err != nil {
		return err
	}

	if exists {
		svcCfg, err = configStore.GetApp(bkup.Name, env)
		if err != nil {
			return err
		}
	}

	if svcCfg == nil {
		svcCfg = configStore.NewAppConfig(bkup.Name, bkup.Version)
	}

	for k, v := range bkup.Env {
		svcCfg.EnvSet(k, v)
	}

	_, err = configStore.UpdateApp(svcCfg, env)
	return err
}