diff options
author | Guilherme Mansur <guilherme.mansur@shopify.com> | 2019-06-10 16:22:29 -0400 |
---|---|---|
committer | Guilherme Mansur <guilherme.mansur@shopify.com> | 2019-06-17 14:00:53 -0400 |
commit | fe30211574648fa21bff958a3cf952fd0c20c3b1 (patch) | |
tree | d0f4c8b65fadf52ea0b0474c7b646b216e5b4a9f /activerecord/lib/active_record/connection_adapters/abstract_adapter.rb | |
parent | c65acad0df6b332324c24e725c7d581bd76f9760 (diff) | |
download | rails-fe30211574648fa21bff958a3cf952fd0c20c3b1.tar.gz rails-fe30211574648fa21bff958a3cf952fd0c20c3b1.tar.bz2 rails-fe30211574648fa21bff958a3cf952fd0c20c3b1.zip |
Add database_exists? method to connection adapters
When SQLite connects it will silently create a database if the database does not
exist. This behaviour causes different issues because of inconsistent behaviour
between adapters: #36383, #32914. This commit adds a `database_exists?` method
as a way to check the database without creating it. This is a stepping stone to
fully resolving the above issues.
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract_adapter.rb')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract_adapter.rb | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb index c0ead17b3b..f9edb12759 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb @@ -264,6 +264,11 @@ module ActiveRecord self.class::ADAPTER_NAME end + # Does the database for this adapter exist? + def self.database_exists?(config) + raise NotImplementedError + end + # Does this adapter support DDL rollbacks in transactions? That is, would # CREATE TABLE or ALTER TABLE get rolled back by a transaction? def supports_ddl_transactions? |