Sha256: 26432376a928ec6240f0531a18e42add16db87535ea46c6ae7056d1ec623b006

Contents?: true

Size: 1.72 KB

Versions: 3

Compression:

Stored size: 1.72 KB

Contents

# Hydra::Migrate [![Build Status](https://travis-ci.org/projecthydra/hydra-migrate.png?branch=master)](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 models=MyModel

    # Target a specific version
    $ rake hydra:migrate to=3

## Todo

* Reversible migrations (rollback)
* Improved rake task(s):
    * Migrate specific object, not entire model class

## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md)

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
hydra-migrate-0.3.0 README.md
hydra-migrate-0.2.1 README.md
hydra-migrate-0.2.0 README.md