0
我有一個表「收據」它包含兩個布爾列:將數據移動到剛創建一個在導軌遷移
Table name: invoices
id :integer not null, primary key
...
sent :boolean default(FALSE)
payment_received :boolean default(FALSE)
這兩個列定義發票的狀態:
def status
if sent & payment_received
:paid
elsif sent | payment_received
:sent
else
:created
end
end
有一天,它希望刪除這些布爾列,並創建新的列,將通過Rails的幫助包含發票狀態enum
status :integer
enum status: [ :created, :sent, :paid ]
所以現在我需要做3兩件事:
- 添加新列「狀態」
- 現有發票計算狀態,更新狀態欄
- 刪除列「派」和「payment_received」。
我該怎麼做?我可以在本地環境中輕鬆完成此任務,但我無法理解如何在生產服務器上執行此操作。例如,如果我將創建一個遷移來更新我的表和一個計算狀態的rake任務,遷移過程將首先移除,而我的數據將從布爾列中移除,然後才能使用它們。
注意:如果以某種方式它很重要:我使用Postgres。
任何幫助表示讚賞!
感謝您的幫助! –
我從來不知道你可以做到這一點。很好 – Tim