1
按照this other question的規定,您可以將序列化的數據存儲在數據庫中。我想知道的是,如果我真的應該或只是創建一個簡單的額外表。在數據庫中存儲序列化數組的反模式? Rails
對象有一個關聯號碼列表。
可能需要檢查一個對象是否有特定的編號。
永遠不會更新它。
不會查詢它。
有財產數字序列化?
是否有屬於對象的表號?
順便說一句,使用rails 5.1和postgresql。
謝謝
按照this other question的規定,您可以將序列化的數據存儲在數據庫中。我想知道的是,如果我真的應該或只是創建一個簡單的額外表。在數據庫中存儲序列化數組的反模式? Rails
對象有一個關聯號碼列表。
可能需要檢查一個對象是否有特定的編號。
永遠不會更新它。
不會查詢它。
有財產數字序列化?
是否有屬於對象的表號?
順便說一句,使用rails 5.1和postgresql。
謝謝
由於您使用PostgreSQL,您實際上有第三個選項:使用數組列。
創建列時添加array: true
選項:
t.integer :column_name, array: true
然後model.column_name
將是一個Ruby的數組,你可以使用所有PostgreSQL array operators and functions一起工作和查詢陣列。
我傾向於認爲用單獨的表格通常會更好,但如果需要,數組列通常很方便並且很容易展開到單獨的表格中。我想遠離serialize
。這會將YAML的blob引入到您的數據庫中,並且YAML難以查詢,更不用說在數據庫中操作了。
是的,意外提交。謝謝。我刪除了我的答案,並將刪除此評論。 –