Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Rails plugin that helps you migrate data from an old db structure to a new structure.
Ruby
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
config
lib
rails
spec
.gitignore
MIT-LICENSE
README
Rakefile
VERSION
install.rb
legacy_migrations.gemspec
uninstall.rb

README

=LegacyMigrations

This plugin implements a simple, expressive syntax for migrating data from one data 
structure to another. Here's a simple example:

  require 'legacy_migrations'

  transfer_from Person, :to => Animal do
    from :name, :to => :pet_name
  end

This transfers data from the people table to the animals table,
mapping the people's _name_ column to animals' _pet\_name_ column.

But that's just the beginning. This plugin also:

* Reports invalid data by using your application's own validation errors for easy data cleanup
  (just use ActiveRecord validations and after running the script from
  the command line, the output will give you helpful details about validation errors.)
* Maps foreign keys between the databases (currently not implemented)
* Gives you a bunch of options for mapping fields between tables.

== Example

In some file in your rails app (perhaps db/seeds.rb?)

  require 'legacy_migrations'

  transfer_from Person, :to => Animal do
    from :name, :to => :pet_name
    from :sex, :to => :gender do |sex|
      sex == 'm' ? 'male' : 'female'
    end
  end


OR, copy all columns with the same name

  transfer_from Person, :to => Animal do
    match_same_name_attributes
  end

Here's a slightly more thorough blog post about it:

http://frontended.com/?p=89

Copyright (c) 2010 Bernie Telles, released under the MIT license
Something went wrong with that request. Please try again.