Code

- fix case where action isn't present in form, e.g., for xmlrpc
[roundup.git] / doc / mysql.txt
1 =============
2 MySQL Backend
3 =============
5 :version: $Revision: 1.13 $
7 This notes detail the MySQL backend for the Roundup issue tracker.
10 Prerequisites
11 =============
13 To use MySQL as the backend for storing roundup data, you also need 
14 to install:
16 1. MySQL RDBMS 4.0.18 or higher - http://www.mysql.com. Your MySQL
17    installation MUST support InnoDB tables (or Berkeley DB (BDB) tables
18    if you have no other choice). If you're running < 4.0.18 (but not <4.0)
19    then you'll need to use BDB to pass all unit tests. Edit the
20    ``roundup/backends/back_mysql.py`` file to enable DBD instead of InnoDB.
21 2. Python MySQL interface - http://sourceforge.net/projects/mysql-python
23 Running the MySQL tests
24 =======================
26 Roundup tests expect an empty MySQL database. Two alternate ways to provide 
27 this:
29 1. If you have root permissions on the MySQL server, you can create 
30    the necessary database entries using the follwing SQL sequence. Use
31    ``mysql`` on the command line to enter::
33        CREATE DATABASE rounduptest;
34        USE rounduptest;
35        GRANT ALL PRIVILEGES ON rounduptest.* TO rounduptest@localhost
36             IDENTIFIED BY 'rounduptest';
37        FLUSH PRIVILEGES;
39 2. If your administrator has provided you with database connection info, 
40    you can modify MYSQL_* constants in the file test/test_db.py with 
41    the correct values.
43 The MySQL database should not contain any tables. Tests will not 
44 drop the database with existing data.
47 Showing MySQL who's boss
48 ========================
50 If things ever get to the point where that test database is totally hosed,
51 just::
53   $ su -
54   # /etc/init.d/mysql stop
55   # rm -rf /var/lib/mysql/rounduptest
56   # /etc/init.d/mysql start
58 and all will be better (note that on some systems, ``mysql`` is spelt
59 ``mysqld``).