Sha256: faab240d57c0132702b9dbec7b42dc94376563bd1023253c10319c46f0d194f0

Contents?: true

Size: 1.81 KB

Versions: 2

Compression:

Stored size: 1.81 KB

Contents

Rails migrations in non-Rails (and non Ruby) projects.  
For this code to work you need Ruby, Gems, ActiveRecord, Rake and a suitable database driver installed.

USAGE
=====
Install Ruby, RubyGems then:
    sudo gem install standalone_migrations

Add to `Rakefile` in your projects base directory:
    begin
      require 'standalone_migrations'
      StandaloneMigrations.tasks
    rescue LoadError
      puts 'gem install standalone_migrations to get db:migrate:* tasks!'
    end

Add database configuration to `config/database.yml` in your projects base directory e.g.:
    development:
      adapter: mysql
      encoding: utf8
      reconnect: false
      database: somedatabase_dev
      pool: 5
      username: root
      password:
      socket: /var/run/mysqld/mysqld.sock

    test:
      ...something similar...

To create a new database migration run:

    rake db:new_migration name=FooBarMigration
    edit migrations/20081220234130_foo_bar_migration.rb

and fill in the up and down migrations. To apply your newest migration

    rake db:migrate

To migrate to a specific version (for example to rollback)

    rake db:migrate VERSION=20081220234130

To migrate a specific database (for example your "testing" database)

    rake db:migrate RAILS_ENV=test

CREDIT
======
This work is based on Lincoln Stoll's blog post: http://lstoll.net/2008/04/stand-alone-activerecord-migrations/  
and David Welton's post http://journal.dedasys.com/2007/01/28/using-migrations-outside-of-rails

FURTHER HELP
============
A good source to learn how to use migrations is:  
http://dizzy.co.uk/ruby_on_rails/cheatsheets/rails-migrations
or if you're lazy and want to just execute raw SQL  

    def self.up
      execute "insert into foo values (123,'something');"
    end

    def self.down
      execute "delete from foo where field='something';"
    end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
standalone_migrations-0.1.1 README.markdown
standalone_migrations-0.1.0 README.markdown