func forceBackendMigration()

in helpers/foundation-deployer/stages/destroy.go [54:87]


func forceBackendMigration(t testing.TB, repo, groupUnit, env string, c CommonConf) error {
	tfDir := filepath.Join(c.CheckoutPath, repo, groupUnit, env)
	backendF := filepath.Join(tfDir, "backend.tf")

	exist, err := utils.FileExists(backendF)
	if err != nil {
		return err
	}
	if exist {
		options := &terraform.Options{
			TerraformDir: tfDir,
			Logger:       c.Logger,
			NoColor:      true,
		}
		_, err := terraform.InitE(t, options)
		if err != nil {
			return err
		}
		err = utils.CopyFile(backendF, filepath.Join(tfDir, "backend.tf.backup"))
		if err != nil {
			return err
		}
		err = os.Remove(backendF)
		if err != nil {
			return err
		}
		options.MigrateState = true
		_, err = terraform.InitE(t, options)
		if err != nil {
			return err
		}
	}
	return nil
}