Sha256: 33eca33675b7ec2707523323673e435ffef9c65207a26c8c1ed52193cabf8537

Contents?: true

Size: 1.77 KB

Versions: 1

Compression:

Stored size: 1.77 KB

Contents

# DataMigrator Useage

## Installing DataMigrator

Add the following to your Gemfile

Add `data_migrator`

Then run `bundle install`

Once DataMigrator is installed you will need to generate the `data_migrations`
table that stores the versioning of data migrations.

Run the following from the command line. `rails generate data_migrator`

Then run `rake db:migrate`

DataMigrator should now be installed & ready to be used

## Data Migration

Data migrations are used within an application to make ammendments & changes to data. 
For example if a set collection of `SomeModel`'s need their `status` changing to
`active`.

## Creating the migration itself 

We can create data migrations using a pre-defined Rails generator that is ran
from the command line. `rails generate data_migration change_some_models_state_to_active`.
This will then create a data migration file within the `db/migrate_data` folder.

By default this file will contain an `up` and a `down` method, although a
`rollback` task not yet been implemented for data migrations.

Enter some code that you would like to be run within the `up` method.

```
class ChangeSomeModelsStateToActive < ActiveRecord::Migration
  def up
    some_models = SomeModel.find(some_model_ids)
    some_models.update_all(state: 'active')
  end

  def down
  end
end
```

## Running the migration

Outstanding data migrations can be manually ran with the command `rake db:data:migrate`.

## Ensuring the same data migration is not run more than once

The implementation is inherited from the Rails way of creating the usual database
migrations. This means when a data migration is ran, a record of which migration 
is inserted into the `data_migrations` table. This table is then checked prior
to running any future data migration, thus stopping duplicate entries.

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
createk_data_migrator-0.1.1 README.md