我掛鉤到一個現有的數據庫,以便爲管理創建一些簡單的腳手架。他們使用的命名約定是table_id。因此,我需要將缺省主鍵從「id」修改爲「customer_id」,例如。我也希望能夠使用這種改變的鐵軌腳手架,而不必重新佈線。Rails 4 - 重命名主鍵
0
A
回答
0
我遵循這個指南:http://ruby-journal.com/how-to-override-default-primary-key-id-in-rails/
它似乎很好地工作。
0
其實你不想這樣做。
ID是數據庫只,Rails中你可以使用外鍵,和這樣說
負荷消費的has_many:XXX 和 XXX belongs_to的:負荷消費
,你給你1 n關係數據庫的含義XXX需要消費者存在。
回答你爲什麼不想改變這種情況,是因爲你的數據庫在改變之後不知道如何行動(如果可能的話),以及如何在沒有ID的情況下搜索新腳手架上的物品?由於ID是負荷消費ID
如果你不知道如何給外鍵相關問題
- 1. 重命名Rails 4應用程序
- 2. 在sqlite中重命名主鍵
- 3. 在MySQL上重命名主鍵約束
- 4. Rails 4中的命名路線4
- 5. 重命名Rails中
- 6. 重命名鍵PHP
- 7. Rails 4與MySQL的備用主鍵
- 8. PHP數組重命名鍵
- 9. Rails 3.2.1 - 重命名路由
- 10. rails重命名關聯
- 11. Rails重命名路由
- 12. 重命名Rails數據庫
- 13. Rails循環重命名
- 14. 如何重命名外鍵?
- 15. 重命名SimpleXMLElement鍵/屬性
- 16. 重命名'this'關鍵字
- 17. 重命名數組鍵
- 18. 重命名JavaScript對象鍵
- 19. Rails 4,回形針,FTP上傳。如何重命名?
- 20. Rails 4,sqlserver-adapter:使用alias_attribute重命名傳統屬性
- 21. 使用appcfg.py更新數據存儲實體重命名主鍵
- 22. 在Rails中重新創建主鍵
- 23. 我如何給主鍵約束命名?
- 24. 如何重命名JSON關鍵
- 25. 重命名軟鍵盤上的按鍵
- 26. 將主機名重命名影響git
- 27. 重命名TeamCity服務器主機名
- 28. 重命名-SPServer和主機名
- 29. MVC 4 EF5主鍵
- 30. 被重命名爲主目錄 - Rails將無法啓動
記錄的更新將失敗,如果沒有列「id」引用,但是,對吧?我連接的數據庫的customer_id是主鍵。如果我運行rails更新或銷燬,對於id = 45,它不會找到記錄。 – Atari2600
您可以將collum添加到數據庫中作爲解決方案[請在此處查看](http://guides.rubyonrails.org/active_record_migrations.html#highlighter_783751)。爲了回答你,我完全不知道軌道數據庫是如何工作的,但是我猜想不會,我不會建議你弄亂它。 那麼你會有一個問題發現ID,它會太麻煩(如果可能的話)。你能想象嗎? *東西* find_by(id = costumer_id)如果你搜索別的東西而不是你的客戶?使用相同的ID爲2表代表不同的東西..嗯..有點凌亂 –
示例..可以說,對於每一個客戶,你有產品..你將如何訪問產品編號? products.costumer_id?爲什麼不使用這個costumer_id作爲關鍵?你會如何儲存這些產品?並訂購?或搜索具體信息? costumer_id在您的產品表上不會是完美的順序..也就是說,在您的產品上,它會是(例如)costumer_id 3,然後在第二個產品上它會是costumer_id 1 ..所以您的表不會在爲了找到它需要爲了找到ID 你能想象如果你有1000個產品?並且ID不是1-1000? –