Version 15 (modified by 11 years ago) ( diff ) | ,
---|
Upgrades
The basic process is:
- Update your local development branch:
git pull upstream master git push
- Refresh your Test instance with the current Production data
clean test
- Upgrade the Test instance (which also migrates to the new DB schema):
pull test
- Resolve any database migration issues that you encounter...documenting these for the script which you use to upgrade Prod
- TEST
- Enhance your migration script as-required to fix silent database migration issues
- some of thesse can be found by reviewing the code changes for the modules which you are using
- Repeat until happy
- Backup Prod
- Repeat upgrade script on Prod
You may find this useful (especially if you have a smaller database...the process here takes too long for longer databases):
Old
Fabfile
This can be done using Fab:
fab <systemname> deploy
- Current Fabfile: http://eden.sahanafoundation.org/browser/static/scripts/tools/fabfile.py
- Current Aliases: ConfigurationGuidelines#Usefulaliases
Older
Put site into Maintenance:
vim /etc/crontab #0-59/1 * * * * www-data cd /path/to/web2py/ && python web2py.py -C -D 1 >> /tmp/cron.output 2>&1 vim /etc/apache/sites-available/maintenance RewriteEngine On RewriteRule ^/(.*) /maintenance.html ln -sf /etc/apache/sites-available/maintenance /etc/apache/sites-enabled/mysite /etc/init.d/apache2 force-reload
Update code:
cd /path/to/web2py git pull upstream
Trial run:
cd /path/to/web2py python web2py.py -S eden -M
Fix any Database Issues:
- The .table files in the databases directory contains what web2py knows about your database
- You need to set deployment_settings.base.migrate=True in
models/000_config.py
before you update the code and switch back to deployment_settings.base.migrate=False later on. - In case of database mismatches - check the databases directory for the appropriate
.table
file and change accordingly.
If using MySQL, then can use phpMyAdmin, if using SQLite then can use sqlite3
command-line tool:
- Linux: (
apt-get install sqlite3
) - Windows: http://www.sqlite.org/sqlite-3_6_23_1.zip
- Documentation: http://www.sqlite.org/sqlite.html
Restore site into production:
vim /etc/crontab 0-59/1 * * * * www-data cd /path/to/web2py/ && python web2py.py -C -D 1 >> /tmp/cron.output 2>&1 ln -sf /etc/apache/sites-available/mysite /etc/apache/sites-enabled/mysite /etc/init.d/apache2 force-reload
See Also
Attachments (1)
-
db_migration_4_gis.sh
(8.8 KB
) - added by 10 years ago.
Script to update the database after the GIS schema changes: https://github.com/flavour/eden/commit/393ee22bd91a9125181c09da25a9463692326f7c
Download all attachments as: .zip
Note:
See TracWiki
for help on using the wiki.