I've inherited a site at a customer and the previous (several) people working on this code did them no favors. For example, it's an e-commerce site and the table that records sales keeps track of the user id and the amount paid but not what product was bought or the form of payment. There actually IS a record of what the user bought but it's stored in their user record which is overwritten with each purchase so any history is lost. In addition, the site has discount-codes (coupons) but those are stored with the user, not the transaction so history is lost there too. In addition, I've noticed that discount codes are re-usable and can be edited without saving history so if you change the discount amount for future sales, running a historical report for sales involving that discount code are now bogus.
I've been asked to fix this. I wonder if there is a standard pattern for the schema here since it must have been done a million times by now. I have never used an off-the-shelf shopping cart package either - I have always assumed that those are more about maintaining sessions/carts and interacting with payment gateways but it occurs to me that maybe they include the schema design I'm thinking of that allows proper accounting audit trails, etc. Any advice? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:341972 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm