]> git.openstreetmap.org Git - rails.git/blobdiff - db/migrate/034_create_languages.rb
First stage of i18n. Some migrations and extra plugins.
[rails.git] / db / migrate / 034_create_languages.rb
diff --git a/db/migrate/034_create_languages.rb b/db/migrate/034_create_languages.rb
new file mode 100644 (file)
index 0000000..db34978
--- /dev/null
@@ -0,0 +1,24 @@
+require 'lib/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
+    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
+
+  def self.down
+    raise IrreversibleMigration.new
+  end
+end