Upgrades
How to Upgrade Compatible Versions
Versions with the same major version number, use compatible database schema with minor changes, so they can be easily upgraded.
cd scripts ./upgrade_db.sh
allows upgrading the database:
- add new database fields;
- remove unused database fields;
- can be executed one or more times without loosing any data;
HTTP Download of Asterisell tarball.
Usually the files customized by the user are:
- apps/asterisell/config/app.yml
- config/databases.yml
- config/propel.ini
- new images and CSS
- log/log_files
Make sure to preserve them, because if you upgrade using a tarball, they will be overwritten.
Upgrade using Git
If you have installed the application using Git (the suggested way), these are the commands:
git commit -a -m "My custom changes." git pull http://github.com/massimo-zaniboni/Asterisell.git
Then follow the Git procedure to resolve merge conflicts. Usually there will no merge conflicts, because Git tries to preserve both you customization and new version modifications.
In case of troubles, ask to the forum. I will update these installation notes, according the signaled problems/suggestions.
After an upgrade, you must execute
sh generate.sh
in order to flush the Symfony cache and fix the permission on “log” and “cache” directories.
If “fix-perms” does not work, you can execute
chmod -R a+rw log chmod -R a+rw cache
Separate Test Environment
You can create a testing environment, in order to test the new Asterisell version in a protected/isolated environment.
First you can create a clone of your current running instance of Asterisell. In this way all your custom configuration will be preserved.
cd <running-env-dir> git commit -a -m "Save all changes." mkdir <test-env-dir> cd <test-env-dir> git clone <running-env-dir>
Note: if you do not change the “config/databases.yml” and “config/propel.ini” configuration files, then also your testing environment work on the same database of the current running environment.
You can upgrade the “test-env” to the new Asterisell version, in this way:
git commit -a -m "My custom changes." git pull http://github.com/massimo-zaniboni/Asterisell.git
Resolve conflicts using Git commands.
You must create another Apache website using the “test_env”.
When you are satisfied you can push the changes to the running environment. First you can save all the changes made to the “test_env” that must be propagated to the running environment.
cd <test-env> git commit add <all new files> git commit -m "Upgraded Asterisell version. Tested."
NOTE: if you do not add the modified configuration files, then you can use the original configuration files of your running environment, that are probably different from configuration files of “test_env”.
Then you can inherit all the changes into your running environment.
cd <your-running-dir-path> git pull <your-test-env-dir-path>
Git allows to maintain in synchro all different versions of Asterisell: test and running.
2010 March 11