Calling Developers!
We are reenergizing our code contribution process! Learn More

Tool/framework which does the same as Propel migrations for a set of bash commands?

Options
Alberto Reyer
Alberto Reyer Lead Spryker Solution Architect / Technical Director Posts: 690 🪐 - Explorer
edited June 2023 in Propel ORM

Does anybody knows a tool/framework which does the same as Propel migrations for a set of bash commands?
I really would like to have versioned bash scripts to execute commands after a deployment which change from version to version (e.g.: running the glossary import when anything glossary related has changed).
Auto generation of such scripts are not necessary, we can write by hand, but I'm way to lazy to write an executor + version registry myself.

Tagged:

Comments

  • Alberto Reyer
    Alberto Reyer Lead Spryker Solution Architect / Technical Director Posts: 690 🪐 - Explorer
    Options

    A little context, which might be helpful.
    We are running in a kubernetes cluster, deployment is done via helm.
    So we can use a helm hook to ensure the scripts are run after the deployment is done.
    But I haven't found any tool which has a registry what bash scripts are already executed and executes all other bash scripts in a specific directory.

  • would that not require a mechanism that finds out that a certain script already ran?

  • i case of batch scripts that might become very complex 🤔

  • Alberto Reyer
    Alberto Reyer Lead Spryker Solution Architect / Technical Director Posts: 690 🪐 - Explorer
    Options

    Yes, but it could be done the same way Propel does it by having a registry (a db table in propel with timestamp who have already run) and a naming scheme for each script.

  • i see. so the step after the actual diffing. my kubernetes is not very good, but is nat not exactly what it does?

  • maybe minus the registry part

  • Alberto Reyer
    Alberto Reyer Lead Spryker Solution Architect / Technical Director Posts: 690 🪐 - Explorer
    edited September 2020
    Options

    i see. so the step after the actual diffing. my kubernetes is not very good, but is nat not exactly what it does?

    But only for resources (aka pods, deployments, etc.).
    If we would manually maintain kubernetes we could add scripts to the deployment, but this is far from a automatism I would like to have.