DB Content Rails Plugin 2

Posted by Oliver on April 17, 2008

The DB Content Rails plugin adds tasks to save and restore database content.

Usage

-- dump the development database to db/archive/development-content.sql.gz
rake db:content:dump

-- load the dumped database, and apply any necessary migrations
$ rake db:content:load

-- dump the production database to db/archive/production-content.sql.gz
$ RAILS_ENV=production rake db:content:dump

-- save the development database to db/archive/{timestamp}.sql.gz
$ rake db:content:save

-- save the (compressed) database to my-data.sql.gz
$ rake db:content:save FILE=my-data.sql.gz

-- save the (uncompressed) database to my-data.sql
$ rake db:content:save FILE=my-data.sql

-- load the database from my-data.sql
$ rake db:content:load FILE=my-data.sql

Tasks

rake db:content:archive

Saves a timestamped database to db/archive/{timestamp}.sql.gz.

rake db:content:dump

Dumps the database to FILE or db/{RAILS_ENV}-content.sql.gz. If FILE ends in .gz, the file is compressed.

rake db:content:load

Loads the database from FILE or db/{RAILS_ENV}-content.sql.gz, and migrates it to the current schema version. If FILE ends in .gz, the file is piped through gunzip.

Installation

git clone git://github.com/osteele/db_content.git vendor/plugins/db_content

If you’re running off Edge Rails (or, presumably, Rails > 2.0.2), you should be able to do this instead:

script/plugin install git://github.com/osteele/db_content

Limitations

The plugin works only with the MySQL databases. (It adds methods to the Mysql adaptor; see the source.) The gzip option probably only works on *nix (MacOS, Linux, etc.).

Trackbacks

Trackbacks are closed.

Comments

Comments are closed.

  1. vinhboy Tue, 22 Apr 2008 04:26:24 PDT

    I guess I deserve to be taken to the guillotine for running Windows, but yea, these tasks don’t run on Windows because of gunzip.

    ‘gunzip’ is not recognized as an internal or external command,
    operable program or batch file.
    rake aborted!

  2. Sean Miller Sun, 04 May 2008 21:34:48 PDT

    Thanks — this does precisely what I needed. The gzip indeed doesn’t work on Windows, but all I had to do was take out the .gz suffix in the tasks/db.rake file and it produced the uncompressed files just fine.