3
我正在嘗試爲我的Rails應用程序設置Beta邀請。我有邀請模型和用戶模型。Rails遷移在另一個表中創建條目時更新現有記錄
用戶有一個invitation_id。我正在驗證該用戶必須擁有一個invitation_id,並且它應該是唯一的。我想寫一個遷移,以便我可以更新我的現有用戶以擁有一個invitation_id。
這裏是我的邀請模式:
# Table name: invitations
#
# id :integer not null, primary key
# sender_id :integer
# recipient_email :string(255)
# token :string(255)
# sent_at :datetime
# created_at :datetime
# updated_at :datetime
爲了保證唯一性,我將要創建的邀請表中的記錄,並分配相應的ID將用戶記錄。
有人可以建議一樣的遷移嗎?
在此先感謝!
感謝克里斯。這是一個很好的解決方案。出於好奇,爲什麼我們不應該使用遷移來實現呢?我所有在這個應用程序上工作的同事(以及未來的合作者)也將不得不分別運行rake db:distribute_invitations以便在他們的系統中運行。 –
我也建議這也是模型代碼。 –
剛剛通過噩夢般的體驗得知,無論何時在遷移中存在種子數據依賴性時,我都會後悔自己的後悔。使追蹤變得更難一些,並且不能在需要時重新運行任務。我曾在一個團隊環境中工作過,每當我們有自定義任務需要運行在現有表中填充數據時,我們一直在尋找/ lib/tasks。如果你或其他人需要做同樣的事情,他們可以追加到文件中,這樣所有的數據操作都集中在 –