From: Rudi Starcevic <rudi@oasis.net.au>
To: pgsql-sql@postgresql.org
Subject: Re: Table Updates ..
Date: Wed, 12 Mar 2003 14:07:50 +1000
Message-ID: <3E6EB296.4020800@oasis.net.au> (raw)
References: <3E6EAE99.8030005@oasis.net.au>
<200303111957.23061.josh@agliodbs.com>
Josh,
Thanks for that.
You're suggestion is how I currently have it.
However some other's had doubted my method and suggested the logging
table(s).
Keeping is simple is much better.
Thanks again.
Regards
Rudi.
Josh Berkus wrote:
>Rudi,
>
>
>
>>If I have 3 tables :
>>
>>orders,
>>products,
>>orders_products ( join table for orders and products )
>>
>>If I insert an order with two products I have:
>>
>>2 rows in the products table, ( the two products )
>>1 row in the orders table and ( one order )
>>2 rows in the orders_products table. ( two products for this order )
>>
>>So far so good. All that works well.
>>But what if next week one the the products in the products table is
>>updated and changed ?
>>Then my order from last week is now different -- corrupted. It links to
>>the same product_id but the product is changed.
>>
>>
>
>If you're concerned with "freezing" the product characteristics at the time of
>the order, the answer is to add all or most of the columns in the products
>table to orders_products. Then, at the time of order finalization
>(shipping? not sure) you copy those columns from products to order_products.
>
>If you're into ORDMBS, you could even create orders_products as inheriting
>products. But this isnt' required.
>
>This will work better than a monthly log.
>
>
>
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: rudi@oasis.net.au
Subject: Re: Table Updates ..
In-Reply-To: <3E6EB296.4020800@oasis.net.au>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox