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
+ create_table :languages, innodb_table do |t|
+ t.string :code, :null => false
+ t.string :english_name, :null => false
+ t.string :native_name
+ end
+
+ add_primary_key :languages, [:code]
- t.timestamps
+ YAML.load(File.read(RAILS_ROOT + "/config/languages.yml")).each do |k,v|
+ Language.create do |l|
+ l.code = k
+ l.english_name = v["english"]
+ l.native_name = v["native"]
+ end
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]
+ add_foreign_key :users, [:locale], :languages, [:code]
+ add_foreign_key :diary_entries, [:language_code], :languages, [:code]
end
def self.down