Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install zodbupgrade

How to install zodbupgrade

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install zodbupgrade
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
0.1 Available View build log
Windows (64-bit)
0.1 Available View build log
Mac OS X (10.5+)
0.1 Available View build log
Linux (32-bit)
0.1 Available View build log
Linux (64-bit)
0.1 Available View build log
 
License
ZPL 2.1
Dependencies
Imports
Lastest release
version 0.1 on Jan 5th, 2011

This package provides a tool that automatically identifies and updates references from persistent objects to classes that are in the process of being moved from one module to another and/or being renamed.

If a class is being moved or renamed, you need to update all references from your database to the new name before finally deleting the old code.

This tool looks through all current objects of your database, identifies moved/renamed classes and touches objects accordingly. It creates a single transaction that contains the update of your database.

Having run this tool, you are then free to delete the old code.

Usage

Installing the egg of this tool provides a console script zodbupgrade which you can call giving either a FileStorage filename or a configuration file defining a storage:

$ zodbupgrade -f Data.fs
$ zodbupgrade -c zodb.conf

Detailed usage information is available:

$ zodbupgrade -h

Custom software/eggs

It is important to install this egg in an interpreter/environment where your software is installed as well. If you're using a regular Python installation or virtualenv, just installing the package using easy_install should be fine.

If you are using buildout, installing can be done using the egg recipe with this configuration:

[buildout]

System Message: ERROR/3 (<string>, line 43)

Inconsistent literal block quoting.

parts += zodbupgrade

[zodbupgrade] recipe = zc.recipe.eggs eggs = zodbupgrade <list additional eggs here>

If you do not install zodbupgrade together with the necessary software it will report missing classes and not touch your database.

Non-FileStorage configurations

You can configure any storage known to your ZODB installation by providing a ZConfig configuration file (similar to zope.conf). For example you can connect to a ZEO server by providing a config file zeo.conf:

<zeoclient>

System Message: ERROR/3 (<string>, line 61)

Inconsistent literal block quoting.

server 127.0.0.1:8100 storage 1 </zeoclient>

And then running zodbupgrade using:

$ zodbupgrade -c zeo.conf

TODO

  • Compress repeated warnings, ignore warnings that are known to come from the

System Message: WARNING/2 (<string>, line 73)

Bullet list ends without a blank line; unexpected unindent.

framework (factory PermissionSetting: Allow does not have __name__, can't check canonical location)

  • Provide "offline" updating: read a list of old/new pairs and update pickles

System Message: WARNING/2 (<string>, line 77)

Bullet list ends without a blank line; unexpected unindent.

directly without needing the old code

Changes

0.1 (2009-06-08)
  • First release.

Subscribe to package updates

Last updated Jan 5th, 2011

Download Stats

Last month:3

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.