简体   繁体   English

运行Rails db迁移后mysql缺少字段

[英]mysql missing field after running rails db migration

i have a rails migration: 我有一个rails迁移:

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

notice the "t.int :sec_code" line. 注意“ t.int:sec_code”行。 it seems to execute successfully: 它似乎执行成功:

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

but the "sec_code" column isn't created: 但未创建“ 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)

why isn't the sec_code column created? 为什么不创建sec_code列? it seems like i should get an error... 似乎我应该得到一个错误...

t.int should probably be t.integer. t.int可能应该是t.integer。 Give that a shot. 试一试。

When in doubt, dizzy always has some great references. 如有疑问, 头晕总是有很多参考。

好吧,我也没有看到正确创建的“ number”字段,因此它必须是类型(t.int:number丢失)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM