gpt4 book ai didi

运行rails db迁移后mysql丢失字段

转载 作者:行者123 更新时间:2023-11-29 09:21:04 24 4
gpt4 key购买 nike

我有一个 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

注意“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。试一试。

如有疑问,dizzy总是有一些很好的引用。

关于运行rails db迁移后mysql丢失字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1801373/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com