diff options
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/attribute_methods/primary_key.rb | 2 | ||||
-rw-r--r-- | activerecord/lib/active_record/railtie.rb | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/attribute_methods/primary_key.rb b/activerecord/lib/active_record/attribute_methods/primary_key.rb index c756924186..746682393e 100644 --- a/activerecord/lib/active_record/attribute_methods/primary_key.rb +++ b/activerecord/lib/active_record/attribute_methods/primary_key.rb @@ -72,7 +72,7 @@ module ActiveRecord when :table_name_with_underscore base_name.foreign_key else - if ActiveRecord::Base != self && connection.table_exists?(table_name) + if ActiveRecord::Base != self && connection.schema_cache.table_exists?(table_name) connection.primary_key(table_name) else 'id' diff --git a/activerecord/lib/active_record/railtie.rb b/activerecord/lib/active_record/railtie.rb index c2e31579a4..71772529d2 100644 --- a/activerecord/lib/active_record/railtie.rb +++ b/activerecord/lib/active_record/railtie.rb @@ -94,6 +94,11 @@ module ActiveRecord end end + initializer "active_record.add_watchable_files" do |app| + files = ["#{app.root}/db/schema.rb", "#{app.root}/db/structure.sql"] + config.watchable_files.concat files.select { |f| File.exist?(f) } + end + config.after_initialize do ActiveSupport.on_load(:active_record) do instantiate_observers |