Title: [940] trunk/activerecord-jdbc/lib/jdbc_adapter: Updating create_database/
drop_database logic in rake_tasks.rb
- Revision
- 940
- Author
- nicksieger
- Date
- 2008-03-16 18:47:12 -0400 (Sun, 16 Mar 2008)
Log Message
Updating create_database/drop_database logic in rake_tasks.rb
Modified Paths
Diff
Modified: trunk/activerecord-jdbc/lib/jdbc_adapter/jdbc_mysql.rb (939 => 940)
--- trunk/activerecord-jdbc/lib/jdbc_adapter/jdbc_mysql.rb 2008-03-09 22:16:30 UTC (rev 939)
+++ trunk/activerecord-jdbc/lib/jdbc_adapter/jdbc_mysql.rb 2008-03-16 22:47:12 UTC (rev 940)
@@ -147,8 +147,12 @@
create_database(name)
end
- def create_database(name) #:nodoc:
- execute "CREATE DATABASE `#{name}`"
+ def create_database(name, options = {}) #:nodoc:
+ if options[:collation]
+ execute "CREATE DATABASE `#{name}` DEFAULT CHARACTER SET `#{options[:charset] || 'utf8'}` COLLATE `#{options[:collation]}`"
+ else
+ execute "CREATE DATABASE `#{name}` DEFAULT CHARACTER SET `#{options[:charset] || 'utf8'}`"
+ end
end
def drop_database(name) #:nodoc:
Modified: trunk/activerecord-jdbc/lib/jdbc_adapter/rake_tasks.rb (939 => 940)
--- trunk/activerecord-jdbc/lib/jdbc_adapter/rake_tasks.rb 2008-03-09 22:16:30 UTC (rev 939)
+++ trunk/activerecord-jdbc/lib/jdbc_adapter/rake_tasks.rb 2008-03-16 22:47:12 UTC (rev 940)
@@ -12,10 +12,10 @@
namespace :db do
redefine_task :create => :environment do
- create_database(ActiveRecord::Base.configurations[RAILS_ENV])
+ jdbc_create_database(ActiveRecord::Base.configurations[RAILS_ENV])
end
- def create_database(config)
+ def jdbc_create_database(config)
begin
ActiveRecord::Base.establish_connection(config)
ActiveRecord::Base.connection
@@ -32,22 +32,19 @@
ActiveRecord::Base.connection.create_database(config['database'])
ActiveRecord::Base.establish_connection(config)
rescue
- if (config['driver'] || config['adapter']) =~ /postgr/
- `createdb "#{config['database']}" -E utf8`
- else
- warn "couldn't create database #{config['database']}"
- end
+ create_database(config)
end
end
end
redefine_task :drop => :environment do
+ config = ActiveRecord::Base.configurations[RAILS_ENV]
begin
- config = ActiveRecord::Base.configurations[environment_name]
ActiveRecord::Base.establish_connection(config)
db = ActiveRecord::Base.connection.database_name
- ActiveRecord::Base.connection.recreate_database(db)
+ ActiveRecord::Base.connection.drop_database(db)
rescue
+ drop_database(config)
end
end
_______________________________________________
Jruby-extras-devel mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/jruby-extras-devel