Aşağıdaki veri şemasını varsayalım: Bu örnekteRaylarda bileşik bir yabancı anahtar olması mümkün mü?
Usage
======
client_id
resource
type
amount
Billing
======
client_id
usage_resource
usage_type
rate
, ben birçok şekilde kullanılabilen her biri birden fazla kaynak, olduğunu varsayalım. Örneğin, bir kaynak bir widget
. Widgets
, foo
ed ve bar
ed olabilir. Gizmo
s de foo
ed ve bar
ed olabilir. Bu kullanım türleri, farklı müşteriler için farklı fiyatlarda, hatta farklı oranlarda faturalandırılır. Bir kullanımın (kaynağın) her oluşumu, Kullanım tablosuna kaydedilir. Her faturalama oranı (müşteri, kaynak ve yazı tipi için) fatura tablosunda saklanır.
(bu veriler şema bu sorunu yaklaşım doğru yolu değilse arada, öneri yapın.)
o Ruby Rails ve ActiveRecord kullanarak, mümkün mü, bir has_many
ilişki oluşturmak için Faturalandırmalardan Kullanımlara kadar belirli bir faturalandırma oranı için kullanım örnekleri listesini alabilir miyim? Bilmediğim has_many, :through
'un bir sözdizimi var mı?
kez daha, yanlış bir açıdan bu sorunu yaklaşırken olabilir, bu nedenle daha iyi bir yol düşünemiyorum eğer, yukarı konuşun!
ikinci ... diğer olmamalı Bekle yol etrafında - Faturada bir birincil anahtar ve kullanımda bir yabancı anahtar? – Yarik
İyi cevap, iyi bir arka plan. Veritabanlarının RoR görünümü problemli görünüyor. Ancak dbms, RoR'a ağır, ölçeklenemeyen bir veritabanı çenesi olarak itibar etmesini sağlayarak intikamını arttırmış gibi görünüyor. – dkretz