diff options
author | Rizwan Reza <rizwanreza@gmail.com> | 2010-03-28 11:01:15 +0430 |
---|---|---|
committer | Rizwan Reza <rizwanreza@gmail.com> | 2010-03-28 11:01:15 +0430 |
commit | 6c2a0675f11a9b5b8e88ed7dbccd65cb51be8029 (patch) | |
tree | ed5ab51c378a43303e8e7f07ed01345857d0df7d /activerecord/lib/active_record/railties/databases.rake | |
parent | 8398f21880a952769ccd6437a4344922fe596dab (diff) | |
download | rails-6c2a0675f11a9b5b8e88ed7dbccd65cb51be8029.tar.gz rails-6c2a0675f11a9b5b8e88ed7dbccd65cb51be8029.tar.bz2 rails-6c2a0675f11a9b5b8e88ed7dbccd65cb51be8029.zip |
When creating database with rake, create schemas in schema_search_path if it doesn't exist.
Diffstat (limited to 'activerecord/lib/active_record/railties/databases.rake')
-rw-r--r-- | activerecord/lib/active_record/railties/databases.rake | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/railties/databases.rake b/activerecord/lib/active_record/railties/databases.rake index 0229793a9a..06485b9033 100644 --- a/activerecord/lib/active_record/railties/databases.rake +++ b/activerecord/lib/active_record/railties/databases.rake @@ -85,8 +85,14 @@ namespace :db do end when 'postgresql' @encoding = config[:encoding] || ENV['CHARSET'] || 'utf8' + schema_search_path = config['schema_search_path'] || 'public' + first_in_schema_search_path = schema_search_path.split(',').first.strip begin ActiveRecord::Base.establish_connection(config.merge('database' => 'postgres', 'schema_search_path' => 'public')) + unless ActiveRecord::Base.connection.all_schemas.include?(first_in_schema_search_path) + ActiveRecord::Base.connection.create_schema(first_in_schema_search_path, config['username']) + $stderr.puts "Schema #{first_in_schema_search_path} has been created." + end ActiveRecord::Base.connection.create_database(config['database'], config.merge('encoding' => @encoding)) ActiveRecord::Base.establish_connection(config) rescue |