--- /dev/null
- remove_foreign_key :diary_entries, [:language_code], :languages, [:code]
- remove_foreign_key :users, [:locale], :languages, [:code]
-
- drop_table :languages
+ require 'lib/migrate'
+
+ class CreateLanguages < ActiveRecord::Migration
+ def self.up
+ 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]
+
+ 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
++ raise IrreversibleMigration.new
+ end
+ end
+