tag: migration

  • Migrating a Django Project from SQLite to MySQL / PostgreSQL

    View Comments

    Tuesday, February 23, 2010 midnight

    Should you ever be tasked with migrating a django project running on an sqlite database to postgresql or mysql, the following are some of the steps I took.

    The project was already in production, so I needed all the data to come along with it. This caused some problems that django, sadly, wasn’t equipped to handle.

    ./manage.py dumpdata > mydumpfile.json
    
    ./manage.py dumpdata --indent=n > mydumpfileindent.json
    
    grep myword mydumpfileindent.json
    grep -A 10 -B 10 -n myword mydumpfileindent.json
    
    mysql -u root -p
    
    mysql> drop database dbname;
    mysql> create database dbname
        -> character set utf8 collate utf8_general_ci;
    mysql> grant all on dbname.* to dbuser@localhost
        -> identified by dbpass;
    mysql> exit;
    
    sudo -u postgres dropdb dbname;
    sudo -u postgres createdb dbname -E utf8 -O dbuser;
    
    ./manage.py syncdb
    
    ./manage.py sqlflush | mysql -u dbuser -p dbname
    
    ./manage.py sqlflush | sudo -u postgre psql dbname
    
    mysql -u dbuser -p dbname
    
    mysql> alter table tablename modify 
        -> columnname columntype;
    
    mysql> alter table tablename add
        -> columnname columntype after othercolumn;
    
    ./manage.py loaddata mydumpfile.json
    

    django-command-extensions

    osx utilities:

    permalink | tagged as: migration osx django postgresql mysql sqlite