diff options
author | James Miller <james@jkmillertech.com> | 2008-09-10 11:27:38 -0700 |
---|---|---|
committer | James Miller <james@jkmillertech.com> | 2008-09-10 11:27:38 -0700 |
commit | 383467fb5da3d0d17bb3e41b6b4c0ab69b2ef082 (patch) | |
tree | 2e81d95ccbb48189f8d456f69c32389bbb122c71 /railties/lib/tasks | |
parent | 6704e90c900555196080165c242d6999d1fcfaba (diff) | |
parent | 6d1be5f1eb83fb693ffd00e1967c1b3ca1c9ece3 (diff) | |
download | rails-383467fb5da3d0d17bb3e41b6b4c0ab69b2ef082.tar.gz rails-383467fb5da3d0d17bb3e41b6b4c0ab69b2ef082.tar.bz2 rails-383467fb5da3d0d17bb3e41b6b4c0ab69b2ef082.zip |
Merge branch 'master' of git@github.com:lifo/docrails
Diffstat (limited to 'railties/lib/tasks')
-rw-r--r-- | railties/lib/tasks/databases.rake | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/railties/lib/tasks/databases.rake b/railties/lib/tasks/databases.rake index 21c81b3fb5..cc079b1d93 100644 --- a/railties/lib/tasks/databases.rake +++ b/railties/lib/tasks/databases.rake @@ -28,8 +28,24 @@ namespace :db do def create_database(config) begin - ActiveRecord::Base.establish_connection(config) - ActiveRecord::Base.connection + if config['adapter'] =~ /sqlite/ + if File.exist?(config['database']) + $stderr.puts "#{config['database']} already exists" + else + begin + # Create the SQLite database + ActiveRecord::Base.establish_connection(config) + ActiveRecord::Base.connection + rescue + $stderr.puts $!, *($!.backtrace) + $stderr.puts "Couldn't create database for #{config.inspect}" + end + end + return # Skip the else clause of begin/rescue + else + ActiveRecord::Base.establish_connection(config) + ActiveRecord::Base.connection + end rescue case config['adapter'] when 'mysql' @@ -52,10 +68,6 @@ namespace :db do $stderr.puts $!, *($!.backtrace) $stderr.puts "Couldn't create database for #{config.inspect}" end - when 'sqlite' - `sqlite "#{config['database']}"` - when 'sqlite3' - `sqlite3 "#{config['database']}"` end else $stderr.puts "#{config['database']} already exists" |