2017-03-08 82 views
1

我刪除了我不再需要的遷移文件(已刪除,而不是回滾)。然後嘗試運行遷移,我的耙子任務完全停止。最終解決了我的問題(或者我認爲)的是增加了另一個遷移,最終運行rake db:migrate進行最新的遷移。然後,在設置了最新模式後,我的rake任務完全停止工作。刪除遷移文件後未運行Rails DB Rake任務

我正在使用rails 5.我嘗試使用新的rails命令進行數據庫任務,但沒有奏效。

我知道我在這裏沒有顯示代碼,但它對這個問題很難。我包含了當我爲我的應用運行任務時發生的情況的屏幕截圖。你會看到各種紅寶石警告,因爲我應該升級我的版本,但這些不相關。

enter image description here

有沒有人遇到這個問題之前,或對如何解決它的任何想法?

回答

0

我以前有過這個,我們沒有足夠的信息給出一個完美的答案,所以我給了你一些對我有用的建議。

在嘗試任何激烈的操作之前,請運行rails db:reset

希望這樣的作品,如果不希望你使用git或svn。回到工作時間,然後不要刪除遷移文件。創建一個新的遷移,刪除不再需要的表。

要做這個運行'rails g migration drop_TABLE_NAME',它將創建一個新的遷移文件,您可以在下面刪除一個表。

def change 
drop_table :TABLENAME 
end 

如果你不使用git,我會嘗試編輯db/schema.rb

0

我有我的數據庫在我的db.yml設置爲默認。我必須聲明實際的數據庫名稱,然後運行遷移才能使其工作。

對我來說,我db.yml現在看起來是這樣的:

default: &default 
    adapter: postgresql 
    template: template0 
    database: job-board-development 
    pool: 5 
    timeout: 5000 

而在此前它是這樣的:

默認:&默認 適配器:PostgreSQL的 模板:template0中 池:5 暫停:5000