diff options
Diffstat (limited to 'activerecord/lib/active_record/tasks/postgresql_database_tasks.rb')
-rw-r--r-- | activerecord/lib/active_record/tasks/postgresql_database_tasks.rb | 93 |
1 files changed, 49 insertions, 44 deletions
diff --git a/activerecord/lib/active_record/tasks/postgresql_database_tasks.rb b/activerecord/lib/active_record/tasks/postgresql_database_tasks.rb index 331825d3ec..ddc5b9fc5c 100644 --- a/activerecord/lib/active_record/tasks/postgresql_database_tasks.rb +++ b/activerecord/lib/active_record/tasks/postgresql_database_tasks.rb @@ -1,45 +1,50 @@ -class ActiveRecord::Tasks::PostgreSQLDatabaseTasks - DEFAULT_ENCODING = ENV['CHARSET'] || 'utf8' - - delegate :connection, :establish_connection, :clear_active_connections!, - :to => ActiveRecord::Base - - def initialize(configuration) - @configuration = configuration - end - - def create(master_established = false) - establish_master_connection unless master_established - connection.create_database configuration['database'], - configuration.merge('encoding' => encoding) - establish_connection configuration - end - - def drop - establish_master_connection - connection.drop_database configuration['database'] - end - - def purge - clear_active_connections! - drop - create true - end - - private - - def configuration - @configuration - end - - def encoding - configuration['encoding'] || DEFAULT_ENCODING - end - - def establish_master_connection - establish_connection configuration.merge( - 'database' => 'postgres', - 'schema_search_path' => 'public' - ) +module ActiveRecord + module Tasks # :nodoc: + class PostgreSQLDatabaseTasks # :nodoc: + + DEFAULT_ENCODING = ENV['CHARSET'] || 'utf8' + + delegate :connection, :establish_connection, :clear_active_connections!, + to: ActiveRecord::Base + + def initialize(configuration) + @configuration = configuration + end + + def create(master_established = false) + establish_master_connection unless master_established + connection.create_database configuration['database'], + configuration.merge('encoding' => encoding) + establish_connection configuration + end + + def drop + establish_master_connection + connection.drop_database configuration['database'] + end + + def purge + clear_active_connections! + drop + create true + end + + private + + def configuration + @configuration + end + + def encoding + configuration['encoding'] || DEFAULT_ENCODING + end + + def establish_master_connection + establish_connection configuration.merge( + 'database' => 'postgres', + 'schema_search_path' => 'public' + ) + end + end end -end +end
\ No newline at end of file |