X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/53b4d645d80cbe4ac397cfc004e8985317aed6a8..a493d3676d7600dd79a3421b6c0fccd240a0a222:/db/migrate/034_create_languages.rb diff --git a/db/migrate/034_create_languages.rb b/db/migrate/034_create_languages.rb index db34978a8..17f5efe02 100644 --- a/db/migrate/034_create_languages.rb +++ b/db/migrate/034_create_languages.rb @@ -2,23 +2,31 @@ 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 + 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 - raise IrreversibleMigration.new + remove_foreign_key :diary_entries, [:language_code], :languages, [:code] + remove_foreign_key :users, [:locale], :languages, [:code] + + drop_table :languages end end +