Title: [880] trunk/activerecord-jdbc/lib/jdbc_adapter/rake_tasks.rb: Fix db:
create for JDBC
- Revision
- 880
- Author
- olabini
- Date
- 2008-01-16 09:16:31 -0500 (Wed, 16 Jan 2008)
Log Message
Fix db:create for JDBC
Modified Paths
Diff
Modified: trunk/activerecord-jdbc/lib/jdbc_adapter/rake_tasks.rb (879 => 880)
--- trunk/activerecord-jdbc/lib/jdbc_adapter/rake_tasks.rb 2008-01-13 06:12:23 UTC (rev 879)
+++ trunk/activerecord-jdbc/lib/jdbc_adapter/rake_tasks.rb 2008-01-16 14:16:31 UTC (rev 880)
@@ -11,6 +11,36 @@
end
namespace :db do
+ redefine_task :create => :environment do
+ create_database(ActiveRecord::Base.configurations[RAILS_ENV])
+ end
+
+ def create_database(config)
+ begin
+ ActiveRecord::Base.establish_connection(config)
+ ActiveRecord::Base.connection
+ rescue
+ begin
+ url = ""
+ if url
+ if url =~ /^(.*\/)/
+ url = ""
+ end
+ end
+
+ ActiveRecord::Base.establish_connection(config.merge({'database' => nil, 'url' => url}))
+ 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
+ end
+ end
+ end
+
redefine_task :drop => :environment do
begin
config = ActiveRecord::Base.configurations[environment_name]
_______________________________________________
Jruby-extras-devel mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/jruby-extras-devel