12 | | 1. You upgrade the Trac source code - from an offical release or from a source checkout. |
13 | | 2. You run the `trac-admin upgrade` command to bring the database up-to-date with the new Trac code. The table structure changes over time, but it is versioned. The upgrade command find the current version of the DB and the version required by the code, and performs an upgrade if required. |
14 | | 3. Optionally, you can run the `wiki upgrade` command to bring the default Wiki pages up-to-date. Your `WikiStart` page will be left intact, of course. |
| 12 | === Update the Trac Code === |
| 13 | |
| 14 | Get the new version of Trac, either by downloading an offical release package or by checking it out from the [http://projects.edgewall.com/trac/wiki/SubversionRepository Subversion repository]. |
| 15 | |
| 16 | If you have a source distribution, you need to run |
| 17 | {{{ |
| 18 | python setup.py install |
| 19 | }}} |
| 20 | |
| 21 | to install the new version. If you've downloaded the Windows installer, you execute it, and so on. |
| 22 | |
| 23 | In any case, if you're doing a major version upgrade (such as from 0.8 to 0.9), it is ''highly'' recommended that you first remove the existing Trac code. To do this, you need to delete the `trac` directory from the Python `lib/site-packages` directory. You may also want to remove the Trac `cgi-bin`, `htdocs` and `templates` directories that are commonly found in a directory called `share/trac` (the exact location depends on your platform). |
| 24 | |
| 25 | === Upgrade the Trac Environment === |
| 26 | |
| 27 | Unless noted otherwise, upgrading between major versions (such as 0.8 and 0.9) involves changes to the database schema, and possibly the layout of the [wiki:TracEnvironment environment directory]. Fortunately, Trac provides automated upgrade scripts to ease the pain. These scripts are run via [wiki:TracAdmin trac-admin]: |
| 28 | {{{ |
| 29 | trac-admin /path/to/projenv upgrade |
| 30 | }}} |
| 31 | |
| 32 | This command will do nothing if the environment is already up-to-date. |
| 33 | |
| 34 | === Update the Trac Documentation === |
| 35 | |
| 36 | Every [wiki:TracEnvironment Trac environment] includes a copy of the Trac documentation for the installed version. As you probably want to keep the included documentation in sync with the installed version of Trac, [wiki:TracAdmin trac-admin] provides a command to upgrade the documentation: |
| 37 | {{{ |
| 38 | trac-admin /path/to/projenv wiki upgrade |
| 39 | }}} |
| 40 | |
| 41 | Note that this procedure will of course leave your `WikiStart` page intact. |
| 42 | |
| 43 | |
| 44 | The following sections discuss any extra actions that may need to be taken to upgrade to specific versions of Trac. |
63 | | == Upgrading SQLite from 2.x to 3.x == |
64 | | |
65 | | The database formats used by SQLite 2.x and sqlite 3.x are incompatible. If you upgrade your SQLite version (this can also happen implicitly if you upgrade from PySQLite 1.0.x to 1.1.x or 2.x), then you must convert your database. |
66 | | |
67 | | To do this, install both SQLite 2.8 and SQLite 3.x (they have different filenames so can coexist in the same directory). Then use the following commands (Windows): |
68 | | {{{ |
69 | | $ mv trac.db trac2.db |
70 | | $ sqlite trac2.db .dump | sqlite3 trac.db |
71 | | }}} |
72 | | |
73 | | Then when you're happy with the conversion and tested everything you can delete the trac2.db file. |
74 | | |
75 | | For more information see http://www.sqlite.org/version3.html |
76 | | |