mysql faltando campo depois de executar a migração trilhos db
-
05-07-2019 - |
Pergunta
eu tenho um trilhos migração:
>> cat db/migrate/20091126031039_create_cards.rb
class CreateCards < ActiveRecord::Migration
def self.up
create_table :cards do |t|
t.string :number_hash
t.int :number
t.string :name
t.string :type
t.string :expiration
t.int :sec_code
t.timestamps
end
end
def self.down
drop_table :cards
end
end
notar a "t.int: sec_code" linha. parece para executar com êxito:
>> rake db:migrate(in /Users/aaronj1335/Sites/clarkbox)
== CreateCards: migrating ====================================================
-- create_table(:cards)
-> 0.4315s
== CreateCards: migrated (0.4317s) ===========================================
mas a coluna "sec_code" não é criado:
mysql> describe cards;
+-------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| number_hash | varchar(255) | YES | | NULL | |
| name | varchar(255) | YES | | NULL | |
| type | varchar(255) | YES | | NULL | |
| expiration | varchar(255) | YES | | NULL | |
| created_at | datetime | YES | | NULL | |
| updated_at | datetime | YES | | NULL | |
+-------------+--------------+------+-----+---------+----------------+
7 rows in set (0.00 sec)
Por que não é a coluna sec_code criado? Parece que eu deveria receber um erro ...
Solução
t.int provavelmente deve ser t.integer. Dar que um tiro.
Em caso de dúvida, tonto sempre tem algumas ótimas referências.
Outras dicas
Bem, eu também não ver o campo "número" que está sendo criado corretamente, por isso deve ser do tipo (t.int: número está faltando)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow