! Database updating These are the steps to follow to update the lexicon, and Morfa-S and Morfa-C questions, without destroying user activity logs. 1. Backup logs and database The database includes user logs of course, but it's good to have an easier-to-access file with just the access logs as well. It may not always be necessary to make a database backup (in the event that you need to reinstall many times, or are just working on a development server), but if one hasn't been done recently on a production server, then it is a good idea. ;) {{{ python2.7 manage.py printlogs > logs.txt mysqldump --compatible=ansi --single-transaction --add-drop-table --set-charset -u USERNAME DATABASENAME -p > database.sql }}} The database file should be bzipped (bzip -9 database.sql), and moved somewhere out of the smaoahpa directory. On gtoahpa the smaoahpa user has a backups directory in its home directory. Copy the file there, and follow the date format. 2. Update svn in data_sma/ {{{ svn up data_sma/ }}} 3. Recompile FSTs In the FST directory for sma, the following commands generate all of the FSTs, including Numra, and Klokka {{{ make TARGET=sma make ifst-restr GTLANG=sma DIALECT=L make ifst-restr GTLANG=sma DIALECT=SH make num.fst GTLANG=sma make inum.fst GTLANG=sma make date-sma.fst GTLANG=sma make idate-sma.fst GTLANG=sma }}} 4. Clear smadrill data minus logs {{{ python2.7 manage.py sqlclear smadrill | grep -v '_log' | python2.7 manage.py dbshell }}} 5. Sync the database to recreate the destroyed tables {{{ python manage.py syncdb }}} 6. Run the database installation script {{{ ./parafedaba.sh }}} ... And keep an eye on the output. When it's done, error.log will contain the errors from the installation process. You can also tail -f error.log to watch while the process runs.