Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Workflow: script to delay until specific datamaintain execution #105

Open
Lysoun opened this issue Nov 10, 2020 · 0 comments
Open

Workflow: script to delay until specific datamaintain execution #105

Lysoun opened this issue Nov 10, 2020 · 0 comments
Labels
question Further information is requested

Comments

@Lysoun
Copy link
Member

Lysoun commented Nov 10, 2020

Why such a workflow?

When removing a field from an object that is stored in database, a good practice is to do it progressively through the versions: version X still reads and writes that field, version X+1 no longer reads that field but keeps on writing it to ensure compatibility with the version X that's still here (continuous deployment) and version X+2 no longer reads nor writes that field. When starting such a process, a script could be created to remove the field from the database when version X+2 is released and thus there is a need to declare that this script should be executed on a particular Datamaintain execution (that occurs to be the one happening on version X+2 release).

How to implement that workflow?

Multiple propositions were done:

  • Counting Datamaintain executions. The script is to be played in N executions, a counter is stored and decreased each execution until it becomes null and at that moment, the script is run. This proposition is based on the hypothesis that one release means one Datamaintain execution, which isn't always true (see Workflow before/stop/after sample #99) and thus does not seem to be a good choice.
  • Respect a convention to name the scripts, in order to add a dependency on a script that was played before
  • Mark a script to be executed during a specific execution using executionId (see Add datamaintain execution id in configuration #100)

No choice has been made yet, this issue aims to give all the propositions found by the maintainer team and to allow discussion in order to find the best solution.

@Lysoun Lysoun added the question Further information is requested label Nov 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

1 participant