Integrate repoze.evolution into Karl

Bug #392189 reported by Chris Rossi
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KARL3
Fix Released
Low
Chris McDonough

Bug Description

We should go ahead and integrate repoze.evolution into Karl so we don't have to remember to manually run misc update scripts to evolve the db in parallel with code.

Revision history for this message
Chris Rossi (chris-archimedeanco) wrote :

Chris, do you have time for some more minor Karl tweaking?

Changed in karl3:
assignee: nobody → Chris McDonough (chrism-plope)
importance: Undecided → Low
milestone: none → m20
Revision history for this message
Chris McDonough (chrism-plope) wrote :

I have:

- Made the "osi" package depend on repoze.evolution

- Created an "evolve" console script that is generated by the OSI package

To add an evolution step:

- create a file in the "osi" package's "evolve/zodb" directory named "evolveX.py" where X is a monotonically increasing number across time.

- change the value of "VERSION" inside "evolve/zodb/__init__.py" to an integer representing the "code version" (should match
  the "X" in "evolveX.py" as you add an evolve script in most cases).

To evolve a sandbox:

- ONCE FOR EACH SANDBOX: set the initial version number of the database: bin/evolve --set-db-version=X where X is the
  code version you believe the database is "already at".

- THEREAFTER (whenever evolution is required): run "bin/evolve" to see the version numbers of the code and the database.
  If they both look right, run "bin/evolve --latest" to update the database to the latest code version by running all necessary
  "evolve" scripts. Each script will be run after the other; a transaction will be committed between each script run. If a particular
  script fails due to an exception, evolution is aborted until the error is fixed.

Changed in karl3:
status: New → Fix Committed
Changed in karl3:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.