Sha256: 77bd285b69381285a85b7c7a90fbd0cca68daab8b5122b6ae95e0595cdf97462
Contents?: true
Size: 1.71 KB
Versions: 1
Compression:
Stored size: 1.71 KB
Contents
# Hydra::Migrate [](https://travis-ci.org/projecthydra/hydra-migrate) Simple migrations for Hydra models ## Installation Add this line to your application's Gemfile: gem 'hydra-migrate', :require => false And then execute: $ bundle Or install it yourself as: $ gem install hydra-migrate ## Usage ### app/models/my_model.rb class MyModel < ActiveFedora::Base include Hydra::ModelMixins::Migratable # ... other model code here ... end ### Magic class naming: db/hydra/my_model_migration.rb class MyModelMigration < Hydra::Migrate::Migration migrate nil => 1 do |object,version,dispatcher| # Do stuff to object to get it from unknown version to v1 end migrate 1 => 2 do |object,version,dispatcher| # Do stuff to object to get it from v1 to v2 end end ### Manual class naming: db/hydra/my_explicit_model_migration.rb class MyExplicitModelMigration < Hydra::Migrate::Migration migrates MyModel migrate nil => 1 do |object,version,dispatcher| # Do stuff to object to get it from unknown version to v1 end migrate 1 => 2 do |object,version,dispatcher| # Do stuff to object to get it from v1 to v2 end end ### Run the migration # Migrate everything that can be migrated $ rake hydra:migrate # Migrate one particular class of objects $ rake hydra:migrate[MyModel] ## Todo * Reversible migrations (rollback) * Improved rake task(s): * Specify target version (already possible in raw code) * Migrate specific object, not entire model class ## Contributing See [CONTRIBUTING.md](CONTRIBUTING.md)
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
hydra-migrate-0.1.0 | README.md |