【问题标题】:Ruby on rails migration not workingRuby on Rails 迁移不起作用
【发布时间】:2017-10-17 20:46:08
【问题描述】:

我最初在创建数据库时进行了迁移,一切正常。然后我去手动删除了postgresql中的表。现在,当我运行 rake db:migrate 时,它​​会运行但不会创建表。

【问题讨论】:

  • 是的,因为这些迁移已经执行,所以它不会工作。 Rails 只会执行那些以前没有执行过的。唯一的方法是回滚并再次运行迁移。

标签: ruby-on-rails


【解决方案1】:

这取决于您的迁移做什么。 rake db:migrate 可以根据您的定义创建或更改表。要在开始时设置数据库和表,您可以使用rake db:schema:loadrake db:setuprake -T 概述了所有可用的 rake 任务。

数据库迁移存储在表schema_migrations 中,该表有一列version。只要可以在此处找到相关迁移的版本,就不会再次执行迁移。

【讨论】:

  • 与之前的迁移完全相同。它创建一个表。然后我删除了数据库中的表,我想重新创建它。
  • 有一个表schema_migrations 可能已经包含版本。我已经相应地更新了答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-09
  • 2019-12-24
  • 1970-01-01
  • 2012-11-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多