Module: OnlineMigrations::SchemaCache72

Defined in:
lib/online_migrations/schema_cache.rb

Instance Method Summary collapse

Instance Method Details

#clear_data_source_cache!(pool, name) ⇒ Object



117
118
119
120
121
122
123
124
125
126
127
# File 'lib/online_migrations/schema_cache.rb', line 117

def clear_data_source_cache!(pool, name)
  if (renamed_table = renamed_table?(pool, name))
    super(pool, renamed_table)
  end

  if renamed_column?(pool, name)
    super(pool, column_rename_table(name))
  end

  super
end

#columns(pool, table_name) ⇒ Object



93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'lib/online_migrations/schema_cache.rb', line 93

def columns(pool, table_name)
  if (renamed_table = renamed_table?(pool, table_name))
    super(pool, renamed_table)
  elsif renamed_column?(pool, table_name)
    columns = super(pool, column_rename_table(table_name))
    OnlineMigrations.config.column_renames[table_name].each do |old_column_name, new_column_name|
      duplicate_column(old_column_name, new_column_name, columns)
    end
    columns
  else
    super.reject { |column| column.name.end_with?("_for_type_change") }
  end
end

#indexes(pool, table_name) ⇒ Object



107
108
109
110
111
112
113
114
115
# File 'lib/online_migrations/schema_cache.rb', line 107

def indexes(pool, table_name)
  if (renamed_table = renamed_table?(pool, table_name))
    super(pool, renamed_table)
  elsif renamed_column?(pool, table_name)
    super(pool, column_rename_table(table_name))
  else
    super
  end
end

#primary_keys(pool, table_name) ⇒ Object

Active Record >= 7.2 changed signature of the methods, see github.com/rails/rails/pull/48716.



83
84
85
86
87
88
89
90
91
# File 'lib/online_migrations/schema_cache.rb', line 83

def primary_keys(pool, table_name)
  if (renamed_table = renamed_table?(pool, table_name))
    super(pool, renamed_table)
  elsif renamed_column?(pool, table_name)
    super(pool, column_rename_table(table_name))
  else
    super
  end
end