Agreed - relational tables are the way to go here. Only one suggestion I'd make is around semantics, I'd rename auctions to auction_items, and then the join table would need to be auction_item_properties. I may be misunderstanding, but my thinking is an auction to be the top-level bucket which has properties like a start time, end time, location, membership, lots/items, etc - so it would have many items. If each auction is item-specific however, then ignore this comment :)
On Monday, September 16, 2019 at 1:31:29 PM UTC-7, Ariel Juodziukynas wrote: > > Personally, I would do this: > > auctions table > (with the basic shared information of all auctions and an "auction type")) > > properties table > property_name (like network, carrier, publisher, etc) > auction_type (like cellphone, book, etc) > > auctions_properties > auction_id > property_id > value > > That way you can have any number of auction types with any number of > specific properties with just 3 tables. > > Note that the "value" column would be some string variation (VARCHAR, > CHAR, TEXT, etc) depending on your needs, maybe you want to redesign it a > little if you want to store different types. Like if you want to store an > integer (and retrieve an integer) you'll have to save the original type and > reparse it (you could use serialization but that requires a TEXT column and > maybe you can't use that many space) > > El lun., 16 sept. 2019 a las 17:19, fugee ohu (<[email protected] > <javascript:>>) escribió: > >> I was looking at some auction projects that use a single listings table >> for all auctions but I know on auction sites the form will be different for >> different types of items like if you're selling a cell phone there'll be a >> form field for network, carrier, whatever and if you're selling a book >> there'll be form fields for publisher, year of publication, so they would >> have separate tables I assume for books, cell phones, etc? Then how would >> they treat them all as one? >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Ruby on Rails: Talk" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/rubyonrails-talk/512f8b73-e3a4-4e74-95e7-4281e7b54821%40googlegroups.com >> >> <https://groups.google.com/d/msgid/rubyonrails-talk/512f8b73-e3a4-4e74-95e7-4281e7b54821%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/20a15754-d659-409d-b32a-0f7a32196143%40googlegroups.com.

