aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/tasks
diff options
context:
space:
mode:
authorJay Hayes <ur@iamvery.com>2015-08-07 15:05:36 -0500
committerJay Hayes <ur@iamvery.com>2015-10-20 19:17:58 -0500
commit1cd35be3eb04da88d790493d3ce9807efeaeddba (patch)
treed2be9998ba35f8bbab18845056c25f2c69db8e21 /activerecord/lib/active_record/tasks
parent213ff7ca0c27739715bda83a9c6237c03a577c2b (diff)
downloadrails-1cd35be3eb04da88d790493d3ce9807efeaeddba.tar.gz
rails-1cd35be3eb04da88d790493d3ce9807efeaeddba.tar.bz2
rails-1cd35be3eb04da88d790493d3ce9807efeaeddba.zip
Fix test of drop failure
* Previously the sqlite3 adapter could not "fail" on drop. Now an error is raised when no file exists. * Also updates purge to be resilient of drop failures. This is how purge is expected to behave.
Diffstat (limited to 'activerecord/lib/active_record/tasks')
-rw-r--r--activerecord/lib/active_record/tasks/sqlite_database_tasks.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/tasks/sqlite_database_tasks.rb b/activerecord/lib/active_record/tasks/sqlite_database_tasks.rb
index 9ab64d0325..9ec3c8a94a 100644
--- a/activerecord/lib/active_record/tasks/sqlite_database_tasks.rb
+++ b/activerecord/lib/active_record/tasks/sqlite_database_tasks.rb
@@ -19,11 +19,15 @@ module ActiveRecord
path = Pathname.new configuration['database']
file = path.absolute? ? path.to_s : File.join(root, path)
- FileUtils.rm(file) if File.exist?(file)
+ FileUtils.rm(file)
+ rescue Errno::ENOENT => error
+ raise NoDatabaseError.new(error.message, error)
end
def purge
drop
+ rescue NoDatabaseError
+ ensure
create
end