class CreateLanguages < ActiveRecord::Migration[5.2] # ISO 639 is the set of international standards that lists short codes for language names. # Note this doesn't include macrolanguages (dialects) # Information on macrolanguages http://en.wikipedia.org/wiki/ISO_639_macrolanguage def change create_table :languages do |t| t.string :name, null: false t.string :native_name t.text :display_name t.string :iso_639_1, size: 3 t.string :iso_639_2, size: 3 t.string :iso_639_3, size: 3 t.text :note t.integer :position end add_index :languages, :name, unique: true add_index :languages, :iso_639_1 add_index :languages, :iso_639_2 add_index :languages, :iso_639_3 end end