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

Reply via email to