diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2019-06-11 19:57:38 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2019-06-13 13:15:50 +0900 |
commit | 5cab344494c340ea82a35b46efa06b94f0b7730b (patch) | |
tree | ec5e8e67eeff1693a8bf2a3395bceea397894e27 /activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb | |
parent | 0ad238f4782375ea2d3e0145c74be1d1aa8f546f (diff) | |
download | rails-5cab344494c340ea82a35b46efa06b94f0b7730b.tar.gz rails-5cab344494c340ea82a35b46efa06b94f0b7730b.tar.bz2 rails-5cab344494c340ea82a35b46efa06b94f0b7730b.zip |
Clear schema cache when a table is created/dropped/renamed
Otherwise `Model.table_exists?` returns the staled cache result.
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb b/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb index 9fc5ee3ab4..e6302112de 100644 --- a/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb @@ -218,6 +218,8 @@ module ActiveRecord # Example: # rename_table('octopuses', 'octopi') def rename_table(table_name, new_name) + schema_cache.clear_data_source_cache!(table_name.to_s) + schema_cache.clear_data_source_cache!(new_name.to_s) exec_query "ALTER TABLE #{quote_table_name(table_name)} RENAME TO #{quote_table_name(new_name)}" rename_table_indexes(table_name, new_name) end |