0
我目前正在一個項目上工作,我弄亂了我的代碼。我回去並刪除了git分支。我現在回過頭來,並添加所有的代碼。Ruby on Rails 5.0表刪除
我需要創建數據庫遷移,但我需要創建的遷移說它已經存在。我不明白這怎麼可能。
我的問題是我將如何獲得軌道只是覆蓋表?
我目前正在一個項目上工作,我弄亂了我的代碼。我回去並刪除了git分支。我現在回過頭來,並添加所有的代碼。Ruby on Rails 5.0表刪除
我需要創建數據庫遷移,但我需要創建的遷移說它已經存在。我不明白這怎麼可能。
我的問題是我將如何獲得軌道只是覆蓋表?
雖然你刪除了你的git分支和本地代碼,但如果你沒有刪除你的數據庫,它仍然是一樣的,所以你的表仍然存在。
您可以創建一個遷移來刪除一個表。 來自this的答案。
rails generate migration DropProductsTable
class DropProductsTable < ActiveRecord::Migration
def up
drop_table :products
end
def down
raise ActiveRecord::IrreversibleMigration
end
end
我不知道你用的是什麼數據庫,但如果表是一樣的,你要添加你甚至可以不需要砸什麼。
我明白了。我目前正在通過訓練營課程進行工作,並且我搞砸了分支,所以我刪除了它。我正在使用的數據庫是SQLite3。因此,如果表格的數據與第一個數據相同,我可以放棄它? –
這是我的輸出 redhoodjt:〜/ workspace/saasapp(contact_form)$ rails db:migrate == 20170223181245 CreateContacts:migrating ==================== =============== - create_table(:contacts) rails中止! StandardError:發生錯誤,此次及以後所有遷移取消: –
是的。即使您刪除了分支,您的數據庫仍未被觸動,因此表格仍然存在。您也可以使用'rake db:rollback'來取消上次進行的遷移,或者取決於您創建此表的時間,使用'rake db:rollback STEP = n'(n是要回滾的遷移數量)。然後,用您創建的新遷移「rake db:migrate」。 –