我去查看我的 schema.rb 文件,发现以下内容:
ActiveRecord::Schema.define(version: 20140729164926) do
# Could not dump table "account_services_indices" because of following NoMethodError
# undefined method `default_function' for
#<ActiveRecord::ConnectionAdapters::PostgreSQLColumn:0x757a77>
...
数据库中的每个表都重复最后三行!
数据库似乎工作正常。我可以做一个 db:rollback 和 db:migrate 没有问题,除了重新生成的 schema.rb 仍然看起来像上面那样。回顾我的 GIT 存储库,它发生在 2014 年 7 月 29 日左右。该提交中唯一与数据库相关的更改是次要迁移,向两个表中的每个表添加一列。我尝试了一个 db:rollback,然后是 db:schema:dump,但没有运气。那时的其他提交只是对视图和控制器的更改。
我正在使用“activerecord-jdbcpostgresql-adapter”gem。1.3.9 版于 2014 年 7 月 7 日发布。在 Gemfile 中强制将其返回到 1.3.8 版,捆绑并再次尝试 db:schema:dump,但仍然是同样的事情。 删除数据库并重新开始可能会奏效并且不会造成灾难性后果,但我现在不想丢失所有的开发数据。
重命名了 database.yml 中的数据库。创建了那个新数据库并使用 db:migrate 构建它。生成的 schema.rb 仍然是相同错误的列表。
有什么建议么?