Ruby on Rails version of osCommerce in PHP?

David Heinemeier Hansson [mailto:david.heinemeier@gmail.com]

#And to further the group hug, I'm pretty neutral about foreign key
#constraints. It's triggers, business constraints ("don't insert if
#balance > 100"), and stored procedures that deserve the "Evil" label.

i agree but i'd like to comment a little. The only thing i would _not_ want a dba to do (in his procs) is to touch anything inside the records, meaning putting values on actual data. Other than that, as dba, he is obliged to do what is good for the busines by providing rules and fences as guards. On the other hand, the programmer and the user has the power to implement those business logic in the real world closer to real processes. Programmers/users have the power to put (actual) data on the database. They can check their data using readable report and can drill down further on the details. But their powers are checked/stopped once they reach the vault db (remember programmers come and go). Thus in any systems, it is important that checks and balances are performed. Programmers/dbas/users check each other. The programmer may check on the dba, and vice-versa. It is like unit testing on the business level... Evil it may seem, but who says business ain't...

thanks and kind regards -botp

ps: haven't played much w rails but is it true that active records cannot deal w (or does not know about) foreign keys and multicolumn primary keys? if not yet, it would be a great gift this coming christmas if added...

#David Heinemeier Hansson

ps: haven't played much w rails but is it true that active records cannot deal w (or does not know about) foreign keys and multicolumn primary keys? if not yet, it would be a great gift this coming christmas if added...

Foreign keys work just fine with Active Record, they're just not
currently dumped in the Ruby-representation of the schema (an
optional, but very nice feature). But neither are stored procedures,
constraints in general, views, etc. So the Ruby-representation is for
application-database designs that are uninterested in having a clever
database.

Composite primary keys are not supported at all right now.

···

--
David Heinemeier Hansson
http://www.loudthinking.com -- Broadcasting Brain
http://www.basecamphq.com -- Online project management
http://www.backpackit.com -- Personal information manager
http://www.rubyonrails.com -- Web-application framework