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 ...

Foi útil?

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
scroll top