vim

Migrating a Rails database from Sqlite3 to MySQL

  • Sunday August 24th, 2008

So when I first looked at Redmine I ran it up and used Sqlite3 as the database back-end. Then when I migrated our Trac data I just left Sqlite3 as the back-end database and migrated our data to that. With that startling lack of forethought aside, I always had the view the database should be MySQL because well: a) I know it b) I like it c) It’s probably more scalable (IMHO) So today I actually sat down to do the migration piece. I dumped out the sqlite3 database and tried to do some manual/scripted edits to convert it to something MySQL would import. Epic Fail. So I tried the YAMLdb that abstracts database exports using YAML. A quick installation, some edits to config/database.yml, a rake db:dump and rake db:load and the data was moved: … Create our database … ` $ sudo mysql -p mysql> create database redmine character set utf8; ` … Grant privs to your chosen user … ` mysql> GRANT … ` … Configure a test database for our new MySQL database … ` $ vim config/database.yml ` .. for Rails version 2.1 and later install the plugin … ` $ sudo script/plugin install git://github.com/adamwiggins/yaml_db.git ` .. for Rails versions less than 2.1 use ... ` $ sudo script/plugin install http://github.com/adamwiggins/yaml_db.git ` … Dump out the current production database … ` $ sudo rake db:dump RAILS_ENV=production ` … Load the freshly created db/data.yml file into our test database … ` $ sudo rake db:load RAILS_ENV=test ` … Reconfigure the application to point to the new MySQL database as production … ` $ vim config/database.yml ` … Start Redmine … ` $ sudo /etc/init.d/mongrel_cluster start ` Had one bad field I had to do some manual editing too - still not quite sure what was wrong with the field but whatever I did fixed it - but otherwise very smooth. Started up and now Redmine runs perfectly with MySQL as the back-end!

Tags: code, git, github, recon

blog comments powered by Disqus


"~/kartar.net/Migrating a Rails database from Sqlite3 to MySQL" [+] 0:00PM                         46,100    72%
        
"Migrating a Rails database from Sqlite3 to MySQL" [New File]
        
Theme derived from Claudio Perez Gamayo