-require 'lib/migrate'
+require "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
+ def change
+ create_table :languages, :id => false do |t|
+ t.string :code, :null => false
+ t.string :english_name, :null => false
+ t.string :native_name
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
+ add_primary_key :languages, [:code]
+
+ Language.load(Rails.root.join("config", "languages.yml"))
- def self.down
- raise IrreversibleMigration.new
+ 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