Sha256: 107663f83c226d584b6714e869dcde1785ef76b5b749a1f475c929ad31c2e315
Contents?: true
Size: 1.22 KB
Versions: 1
Compression:
Stored size: 1.22 KB
Contents
module Octopus::Migration def using(*args, &block) Octopus.config() args.each do |shard| if !ActiveRecord::Base.using(shard).connection.table_exists?(ActiveRecord::Migrator.schema_migrations_table_name()) ActiveRecord::Base.using(shard).connection.initialize_schema_migrations_table end end if args.size == 1 self.connection().block = true self.connection().current_shard = args.first else self.connection().current_shard = args end yield if block_given? return self end def using_group(*args) Octopus.config() args.each do |group_shard| shards = self.connection().instance_variable_get(:@groups)[group_shard] || [] shards.each do |shard| if !ActiveRecord::Base.using(shard).connection.table_exists?(ActiveRecord::Migrator.schema_migrations_table_name()) ActiveRecord::Base.using(shard).connection.initialize_schema_migrations_table end end end if args.size == 1 self.connection().block = true self.connection().current_group = args.first else self.connection().current_group = args end return self end end ActiveRecord::Migration.extend(Octopus::Migration)
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ar-octopus-0.0.19 | lib/octopus/migration.rb |