我删除了我不再需要的迁移文件(删除,不回滚)。然后尝试运行迁移,我的rake任务完全停止了。最后修复我的问题(或者我认为)是添加另一个迁移,最终用于运行rake db:migrate以进行最新的迁移。然后在设置了最新的架构后,我的rake任务再次停止工作。
我正在使用rails 5.我尝试使用新的rails命令来执行db任务,但这并没有用。
我知道我这里没有显示代码,但这个问题很难解决。我列出了当我为我的应用程序运行任务时会发生什么的截图。你会看到各种红宝石警告,因为我应该升级我的版本,但那些不相关。
之前是否有人遇到过这个问题,或者对如何解决这个问题有任何想法?
答案 0 :(得分:0)
我以前有这个,我们没有足够的信息来提供完美的答案,所以我给了你一些对我有用的建议。
在尝试任何激烈的操作之前,请运行rails db:reset
。
希望这有效,如果不希望你使用git或svn。回到它工作的时候,然后不要删除迁移文件。创建一个新的迁移,删除您不再需要的表。
执行此操作'rails g migration drop_TABLE_NAME'将生成新的迁移文件,您可以删除下面的表格。
def change
drop_table :TABLENAME
end
如果你没有使用git,我会尝试编辑db/schema.rb
。
答案 1 :(得分:0)
我的db.yml中的数据库设置为默认值。我必须声明实际的数据库名称,然后运行迁移才能使其工作。
对我来说,我的db.yml现在看起来像这样:
default: &default
adapter: postgresql
template: template0
database: job-board-development
pool: 5
timeout: 5000
虽然之前看起来像这样:
默认值:&默认值 适配器:postgresql 模板:template0 游泳池:5 超时:5000