문제

레일 마이그레이션이 있습니다.

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

"t.int : sec_code"라인에 주목하십시오. 성공적으로 실행되는 것 같습니다.

>> rake db:migrate(in /Users/aaronj1335/Sites/clarkbox)
==  CreateCards: migrating ====================================================
-- create_table(:cards)
   -> 0.4315s
==  CreateCards: migrated (0.4317s) ===========================================

그러나 "sec_code"열은 생성되지 않습니다.

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)

SEC_CODE 열이 생성되지 않은 이유는 무엇입니까? 오류가 발생 해야하는 것 같습니다 ...

도움이 되었습니까?

해결책

t.int는 아마도 t.integer 일 것입니다. 그 사진을 줘.

확실하지 않을 때에는, 어지러운 항상 훌륭한 참조가 있습니다.

다른 팁

글쎄, 나는 또한 "숫자"필드가 제대로 생성되는 것을 보지 않으므로 유형이어야합니다 (t.int : 숫자가 누락되었습니다)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top