删除迁移文件后,Rails DB Rake任务未运行

时间:2017-03-08 00:38:13

标签: ruby-on-rails ruby-on-rails-5

我删除了我不再需要的迁移文件(删除,不回滚)。然后尝试运行迁移,我的rake任务完全停止了。最后修复我的问题(或者我认为)是添加另一个迁移,最终用于运行rake db:migrate以进行最新的迁移。然后在设置了最新的架构后,我的rake任务再次停止工作。

我正在使用rails 5.我尝试使用新的rails命令来执行db任务,但这并没有用。

我知道我这里没有显示代码,但这个问题很难解决。我列出了当我为我的应用程序运行任务时会发生什么的截图。你会看到各种红宝石警告,因为我应该升级我的版本,但那些不相关。

enter image description here

之前是否有人遇到过这个问题,或者对如何解决这个问题有任何想法?

2 个答案:

答案 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