之前已删除的表-再次创建迁移

时间:2018-12-12 03:47:20

标签: ruby-on-rails ruby activerecord

有关迁移的问题: 几个月前,我有一张桌子叫做付款 然后我们写了一个迁移并将其删除

现在我要再次付款

我生成了一个迁移,但是当我迁移时,它实际上掉了,并没有产生付款

请,有人可以给我指示吗? TA

1 个答案:

答案 0 :(得分:0)

这取决于您放下桌子的方式。

迁移的工作方式

无论何时创建迁移,它都有其自己的时间戳;当您运行rake db:migrate时,它将运行up方法(根据您的情况创建表)并将该迁移的时间戳存储在{{1}中}表。

您可以使用以下方法检查数据库中是否存在付款表,

schema_migrations

case -如果您不是通过Rails迁移(通过控制台或外部源)删除了表,则ActiveRecord::Base.connection.tables.include? 'payments' 将不会清除创建schema_migrations表的迁移时间戳(运行方法可以清除时间戳记)。但是为使用新的时间戳创建payments表添加新的迁移不会影响您。

如果仍然不能解决问题,则完全取决于您在“创建付款表”迁移文件中编写的内容,其中调用的方法必须为paymentschange(附加信息) 。