【问题标题】:my schema has a "messages" table I can't drop with migration我的架构有一个“消息”表,我无法通过迁移删除
【发布时间】:2013-03-11 12:32:18
【问题描述】:

我的架构有一个无法通过迁移删除的消息表。当我尝试放下桌子时,我得到PG::Error: ERROR: relation "messages" does not exist。如果 schema.rb 是 您的数据库架构的权威来源,这怎么可能?

【问题讨论】:

  • 如果您手动删除表(不使用迁移),schema.rb 文件不会神奇地更新。
  • 连同@mischa 说可能不同步,您可以bundle exec rake db:schema:dump 重新生成它。
  • 重新生成了架构并且表不存在。

标签: ruby-on-rails-3 postgresql rails-activerecord rails-migrations


【解决方案1】:

迁移不是这样工作的。它们只是为了从版本 A 到版本 B 而执行的一系列脚本。Rails 通过查看 schema_migrations 表来确定哪个版本是最新的。

要解决您的特定问题,请编辑迁移文件,或创建迁移可以删除的虚拟“消息”表。

【讨论】:

    猜你喜欢
    • 2014-08-23
    • 1970-01-01
    • 1970-01-01
    • 2012-03-16
    • 1970-01-01
    • 1970-01-01
    • 2018-09-09
    • 2016-10-21
    • 1970-01-01
    相关资源
    最近更新 更多