]> git.openstreetmap.org Git - rails.git/blobdiff - db/migrate/034_create_languages.rb
community survey banner
[rails.git] / db / migrate / 034_create_languages.rb
index 17f5efe027e37d4b12bc44175ba8f73bed2561aa..24590355168c4d89b60fd420a2855945cef24244 100644 (file)
@@ -1,8 +1,6 @@
-require 'lib/migrate'
-
-class CreateLanguages < ActiveRecord::Migration
-  def self.up
-    create_table :languages, innodb_table do |t|
+class CreateLanguages < ActiveRecord::Migration[4.2]
+  def change
+    create_table :languages, :id => false do |t|
       t.string :code, :null => false
       t.string :english_name, :null => false
       t.string :native_name
@@ -10,23 +8,9 @@ class CreateLanguages < ActiveRecord::Migration
 
     add_primary_key :languages, [:code]
 
-    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_foreign_key :users, [:locale], :languages, [:code]
-    add_foreign_key :diary_entries, [:language_code], :languages, [:code]    
-  end
-
-  def self.down
-    remove_foreign_key :diary_entries, [:language_code], :languages, [:code]
-    remove_foreign_key :users, [:locale], :languages, [:code]
+    Language.load(Rails.root.join("config/languages.yml"))
 
-    drop_table :languages
+    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
-