有关迁移的问题: 几个月前,我有一张桌子叫做付款 然后我们写了一个迁移并将其删除
现在我要再次付款表
我生成了一个迁移,但是当我迁移时,它实际上掉了,并没有产生付款。
请,有人可以给我指示吗? TA
答案 0 :(得分:0)
这取决于您放下桌子的方式。
迁移的工作方式
无论何时创建迁移,它都有其自己的时间戳;当您运行rake db:migrate
时,它将运行up
方法(根据您的情况创建表)并将该迁移的时间戳存储在{{1}中}表。
您可以使用以下方法检查数据库中是否存在付款表,
schema_migrations
case -如果您不是通过Rails迁移(通过控制台或外部源)删除了表,则ActiveRecord::Base.connection.tables.include? 'payments'
将不会清除创建schema_migrations
表的迁移时间戳(运行方法可以清除时间戳记)。但是为使用新的时间戳创建payments
表添加新的迁移不会影响您。
如果仍然不能解决问题,则完全取决于您在“创建付款表”迁移文件中编写的内容,其中调用的方法必须为payments
或change
(附加信息) 。