<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>lib/collation.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -14,20 +14,20 @@ class DatabsController &lt; ApplicationController
   end
 
   def create
-    if (Datab.create(params[:datab]) rescue nil)
-      flash[:notice] = &quot;Database #{params[:datab][:name]} was successfully created.&quot;
-    else
-      flash[:error] = 'Pas bon'
-    end
+    Datab.create! params[:datab]
+    flash[:notice] = &quot;Database #{params[:datab][:name]} was successfully created.&quot;
+  rescue StandardError =&gt; e
+    flash[:notice] = e.to_s
+  ensure
     redirect_to databs_path
   end
 
   def destroy
-    if (Datab.destroy params[:id] rescue nil)
-      flash[:notice] = &quot;Database #{params[:id]} was successfully deleted.&quot;
-    else
-      flash[:error] = 'Pas bon'
-    end
+    Datab.destroy! params[:id]
+    flash[:notice] = &quot;Database #{params[:id]} was successfully deleted.&quot;
+  rescue StandardError =&gt; e
+    flash[:notice] = e.to_s
+  ensure
     redirect_to databs_path
   end
 </diff>
      <filename>app/controllers/databs_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,12 +1,22 @@
 class Datab &lt; Base
+  include Collation
+  
+  attr_accessor :collation
 
   @@databs = {}
 
-  def self.create attributes
-    connection.create_database attributes[:name]
+  def self.create! attributes
+    options = {}
+    if !attributes[:collation].blank?
+      options[:collation] = attributes[:collation]
+      options[:charset] = Collations.detect do |group|
+        group.values.detect { |col| col.value == attributes[:collation] } 
+      end.label
+    end
+    connection.create_database attributes[:name], options
   end
   
-  def self.destroy name
+  def self.destroy! name
     execute &quot;drop database #{sanitize_table name}&quot;
     @@databs.delete name
   end</diff>
      <filename>app/models/datab.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,7 +6,11 @@
     &lt;div class=&quot;field&quot;&gt;
     	&lt;%= f.label :name, 'Name' %&gt;
     	&lt;%= f.text_field :name %&gt;
-    	&lt;%= f.submit 'Create' %&gt;    
+    &lt;/div&gt;
+    &lt;div class=&quot;field&quot;&gt;
+      &lt;%= f.label :collation, 'Collation' %&gt;
+      &lt;%= select_tag 'datab[collation]', option_groups_from_collection_for_select(Datab::Collations, &quot;values or []&quot;, &quot;title&quot;, &quot;value&quot;, &quot;title&quot;), :id =&gt; 'datab_collation' %&gt;
+      &lt;%= f.submit 'Create' %&gt;
     &lt;/div&gt;
   &lt;% end %&gt;
 &lt;/div&gt;</diff>
      <filename>app/views/databs/index.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -38,13 +38,22 @@ class DatabTest &lt; ActiveSupport::TestCase
 
   should 'delete a database' do
     assert_difference 'Datab.all.size', -1 do
-      Datab.destroy 'rbdb_test1'
+      Datab.destroy! 'rbdb_test1'
     end
   end
 
   should 'delete a database named database' do
     assert_difference 'Datab.all.size', -1 do
-      Datab.destroy 'database'
+      Datab.destroy! 'database'
+    end
+  end
+  
+  should &quot;set a collation&quot; do
+    assert_difference 'Datab.all.size', 1 do
+      Datab.create! :name =&gt; 'rbdb_test_bulgar', :collation =&gt; 'cp1251_bulgarian_ci'
+    end
+    assert_difference 'Datab.all.size', -1 do
+      Datab.destroy! 'rbdb_test_bulgar'
     end
   end
 </diff>
      <filename>test/unit/datab_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>2c38be78e271ec9cadbd9bfecf6b2b4085caf0d8</id>
    </parent>
  </parents>
  <author>
    <name>Sylvain Utard - redox</name>
    <email>sylvain.utard@gmail.com</email>
  </author>
  <url>http://github.com/redox/rbdb/commit/46de50d7aafbcd0d2a04ef038dec397e117f4feb</url>
  <id>46de50d7aafbcd0d2a04ef038dec397e117f4feb</id>
  <committed-date>2008-12-29T04:16:13-08:00</committed-date>
  <authored-date>2008-12-29T04:16:13-08:00</authored-date>
  <message> * Add collation support</message>
  <tree>4425ef1fe4e8e6464531e90e71e28d6043266704</tree>
  <committer>
    <name>Sylvain Utard - redox</name>
    <email>sylvain.utard@gmail.com</email>
  </committer>
</commit>
