--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/source/howto-rename.rst Tue Jun 19 16:11:57 2018 +0200
@@ -0,0 +1,66 @@
+.. _renamehowto:
+
+
+How to rename classes of existing objects
+=========================================
+
+
+When you develop new features to PyAMS we sometimes have to rename or modify classes of already stored objects if you do
+that you will never access yours objects. But PyAMS provides `zodbupdate` script to update easily update the change in ZODB.
+
+
+**1) Include you package in the require resource for you webapp**
+
+
+.. code-block:: python
+
+ requires = [
+ 'mypackage',
+ ...
+ ]
+
+**2) Add the Entry points**
+
+
+In the `setup.py` file add 'zodbupdate' params into entry_points where is store zodbupdate directives
+
+.. code-block:: python
+
+ entry_points={
+ 'zodbupdate': [
+ 'renames = mypackage.generations:RENAMED_CLASSES'
+ ]
+ }
+
+
+
+**3) Create a module named** ``generation`` **with the migration directives**
+
+
+.. code-block:: python
+
+ RENAMED_CLASSES = {
+ 'mypackage.mymodule MyOldClass': 'mypackage.mymodule MyNewClass'
+ }
+
+
+**4) Run the commands** ``buildout`` .
+
+.. code-block:: console
+
+ $ mypackage/bin/buildout
+ $ webapp/bin/buildout
+
+
+The ``buildout`` command going to install correctly the package and add the new entry_points references in entry_points.txt
+
+**5) Run the commands** ``zodbupdate``
+
+To finish run `zodbupdate` to apply the changes describe in `RENAMED_CLASSES`
+
+.. code-block:: console
+
+ $ bin/zodbupdate --config etc/zodbupdate-zeo.conf
+
+
+Where `zodbupdate-zeo.conf` is the configuration file to access to the ZODB.