Instiki
Upgrading

This software is under very active development. So you’ll probably want to upgrade frequently, to benefit from the latest improvements. Here’s how to upgrade smoothly.

If you installed from Bazaar or Git,

  1. Do a1

     % bzr pull

    (or a git pull, if you installed from the git repository).

  2. Perform whatever upgrade tasks are needed

     % ruby bundle update
     % ruby bundle exec rake upgrade_instiki
  3. Restart Instiki

    % ps -ax | grep instiki
    % kill PID-of-Instiki
    % ./instiki --daemon

If, instead, you installed from the tarball.

  1. Backup your uploaded files, located in webs/Name-of-Web/files/ (in public/Name-of-Web/files/, for versions earlier than 0.16.2).
  2. If you’re using the default SQLite3 database, backup your database file2, (db/production.db.sqlite3). If you’re running on MySQL, backup config/database.yml instead.
  3. Shut down Instiki
    % ps -ax | grep instiki
    % kill PID-of-Instiki
  4. Download, uncompress and untar the latest version.
  5. Restore the files you backed up in steps 1,2.
  6. Run
% ruby bundle update
% ruby bundle exec rake upgrade_instiki
  1. Restart Instiki

    % ./instiki --daemon

You may (or may not) want to preserve the log file (log/production.log) or the contents of the cache directory.


  1. Very occasionally (such as in the upgrade to Instiki 0.17.3), we need to update the database schema. This creates a minor annoyance for BZR users. When they next do a bzr pull, they are informed that BZR has detected a conflict in db/production.db.sqlite3. To fix this,

    % cp db/production.db.sqlite3.THIS db/production.db.sqlite3.bak
    % bzr resolve db/production.db.sqlite3
    % cp db/production.db.sqlite3.bak db/production.db.sqlite3
    % ruby bundle exec rake upgrade_instiki
  2. One of the nice things about SQLite is that the database is just an ordinary file, which you can copy onto a Memory Stick, email to a friend, or whatever.