Class: Ec::Pg::Migrator
- Inherits:
-
Object
- Object
- Ec::Pg::Migrator
- Defined in:
- lib/ec/pg/migrator.rb
Overview
Runs ActiveRecord migrations in the context of a specific schema or shard.
Schema migrations
Class Method Summary collapse
-
.migrate_all_schemas ⇒ Object
Runs pending migrations on all schemas.
-
.rollback_all_schemas(steps: 1) ⇒ Object
Rollsback schemas.
Class Method Details
.migrate_all_schemas ⇒ Object
Runs pending migrations on all schemas
13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/ec/pg/migrator.rb', line 13 def migrate_all_schemas Ec::Pg::SchemaMixin.registered_models.each do |model| model.schemas.each do |shard, schemas| Ec::Pg.switch(shard: shard) do schemas.each do |schema_name| Ec::Pg.dprint("migrating model: #{model}, shard: #{shard}, schema: #{schema_name}".red) migrate_schema(model.connection, schema_name) end end end end end |
.rollback_all_schemas(steps: 1) ⇒ Object
Rollsback schemas
28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/ec/pg/migrator.rb', line 28 def rollback_all_schemas(steps: 1) Ec::Pg::SchemaMixin.registered_models.each do |model| model.schemas.each do |shard, schemas| Ec::Pg.switch(shard: shard) do schemas.each do |schema_name| Ec::Pg.dprint("rolling back model: #{model}, shard: #{shard}, schema: #{schema_name}".red) rollback_schema(model.connection, schema_name, steps) end end end end end |