Module: PluginAWeek::PluginMigrations

Defined in:
lib/plugin_migrations.rb,
lib/plugin_migrations/migrator.rb,
lib/plugin_migrations/extensions/plugin.rb,
lib/plugin_migrations/extensions/schema_statements.rb

Overview

Adds support for running migrations and loading fixtures from plugins

Defined Under Namespace

Modules: Extensions Classes: Migrator

Class Method Summary collapse

Class Method Details

.load_fixtures(plugin_names = nil, fixtures = nil) ⇒ Object

Load plugin fixtures into the current environment’s database. Load fixtures for a specific plugin using plugin_names, specific fixtures using fixtures



21
22
23
24
# File 'lib/plugin_migrations.rb', line 21

def load_fixtures(plugin_names = nil, fixtures = nil)
  require 'active_record/fixtures'
  Rails.plugins.find_by_names(plugin_names).each {|plugin| plugin.load_fixtures(fixtures)}
end

.migrate(plugin_names = nil, version = nil) ⇒ Object

Migrate the database through scripts in plugin_xyz/db/migrate. Specify target plugins through plugin_names. The version can only be used when targeting specific plugins.



13
14
15
16
# File 'lib/plugin_migrations.rb', line 13

def migrate(plugin_names = nil, version = nil)
  version = version.to_i if version
  Rails.plugins.find_by_names(plugin_names).each {|plugin| plugin.migrate(version)}
end