[Pkg-roundcube-maintainers] Bug#688634: roundcube sqlite -> mysql transition hint

Chris Knadle Chris.Knadle at coredump.us
Sat Jan 19 12:17:36 UTC 2013


I'm also using roundcube-sqlite, so I'm going to have to deal with the 
transition to either roundcube-mysql or roundcube-pgsql.  I found some hints 
from someone that did the transition from sqlite -> mysql back in 2007:

   http://www.howtoforge.com/forums/showpost.php?p=70929&postcount=3

Below I'm going to make some notes in []'s on indented lines to update a 
couple of the commands based on what I see.

------------------------------------------------------------------------

7th May 2007, 07:46
aqua

I tried updating the sqlite database in order for the new roundcube version to 
work work with the current release of roundcube. The original packager of this 
package used sqlite, not sqlite3. So excuting the above SQL statement didn't 
work.

I didn't want to use sqlite or sqlite3, because I am much more comfortable 
with mysql. I will document here what i did to convert my sqlite database to 
mysql, so that myself and my customer don't lose our contacts, etc. This has 
another advantage also, which is that you don't accidently over wright you 
database when you upgrade, and you could use tools like phpmyadmin to 
administer your database.

In theory an SQL dump from one database should be easily imported into 
another, but that is not the case.

1) Find your sqlite database, which lives in 
/home/admispconfig/ispconfig/web/roundcubemail

  [For Debian Squeeze the roundcube sqlite database is in:
   /var/lib/dbconfig-common/sqlite/roundcube/roundcube]

2) Install sqlite. sudo apt-get install sqlite
3) Dump the SQL, but only the insert-statements: sqlite sqlite.db .dump | grep 
'INSERT INTO' > sql.dump That should give you a file with bunch of insert 
statement. Now you have all your data.

   [sqlite roundcube .dump | fgrep 'INSERT INTO' > sql.dump]

4) Look in the current roundcube directory. This should be a folder call SQL. 
In it should be a file called mysql.initial.sql. This file contains the 
information schema for mysql.
5) Create a new database from the ispconfig panel. Using phpmyadmin, upload 
mysql.initial.sql. This should setup your database.
6) Also using phpmyadmin, upload your sql.dump file. Now your database should 
contain all your data. I did have some difficulty with this step though, some 
lines from INSERT INTO identities lines would refuse to be inserted, because 
they would be missing a ') from the end of the line. If phpmyadmin throws and 
error, find the line and fix the mistake. There is no harm from reuploading 
the file again, ie your data won't be duplicated.

7) Until now, we haven't made any drastic changes to your roundcube 
installation. But we will, so make backups, especially your sqlite.db file.

   [s/sqlite.db/roundcube/]

tbc... 

------------------------------------------------------------------------

  -- Chris

--
Chris Knadle
Chris.Knadle at coredump.us



More information about the Pkg-roundcube-maintainers mailing list