Rails DB 마이그레이션을 실행 한 후 MySQL 누락 된 필드
-
05-07-2019 - |
문제
레일 마이그레이션이 있습니다.
>> 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 : 숫자가 누락되었습니다)
제휴하지 않습니다 StackOverflow