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