module ActiveRecordShards::ActualMigrationExtension

Public Instance Methods

migrate_with_forced_shard(direction) click to toggle source
# File lib/active_record_shards/migration.rb, line 93
def migrate_with_forced_shard(direction)
  if migration_shard.blank?
    raise "#{name}: Can't run migrations without a shard spec: this may be :all, :none,
             or a specific shard (for data-fixups).  please call shard(arg) in your migration."
  end

  shard = ActiveRecord::Base.current_shard_selection.shard

  if shard.nil?
    return if migration_shard != :none
  else
    return if migration_shard == :none
    return if migration_shard != :all && migration_shard.to_s != shard.to_s
  end

  migrate_without_forced_shard(direction)
end
migration_shard() click to toggle source
# File lib/active_record_shards/migration.rb, line 111
def migration_shard
  self.class.migration_shard
end