]> git.openstreetmap.org Git - rails.git/blobdiff - db/migrate/034_create_languages.rb
Replace quova with support for local Maxmind GeoIP lookups
[rails.git] / db / migrate / 034_create_languages.rb
index db34978a8ff856894e1bf1ef62c9f62ca6ac289d..05a70e7a9771092d1645fad3df60c107295dde08 100644 (file)
@@ -1,24 +1,18 @@
-require 'lib/migrate'
+require "migrate"
 
 class CreateLanguages < ActiveRecord::Migration
-  def self.up
-    create_table :languages do |t|
-      t.string :language_code, :limit => 5, :null => false
-      t.string :name, :null => false
-      t.boolean :translation_available, :null => false, :default => false
-
-      t.timestamps
+  def change
+    create_table :languages, :id => false do |t|
+      t.string :code, :null => false
+      t.string :english_name, :null => false
+      t.string :native_name
     end
-    
-    add_index :languages, [:language_code], :unique => true
 
-    Language.create(:language_code => 'en', :name => 'English', :translation_available => true)
-    
-    add_foreign_key :users, [:locale], :languages, [:language_code]
-    add_foreign_key :diary_entries, [:language], :languages, [:language_code]    
-  end
+    add_primary_key :languages, [:code]
+
+    Language.load("#{Rails.root}/config/languages.yml")
 
-  def self.down
-    raise IrreversibleMigration.new
+    add_foreign_key :users, :languages, :column => :locale, :primary_key => :code, :name => "users_locale_fkey"
+    add_foreign_key :diary_entries, :languages, :column => :language_code, :primary_key => :code, :name => "diary_entries_language_code_fkey"
   end
 end