VbzCart/docs/tables/shop cart line: Difference between revisions
Jump to navigation
Jump to search
imported>Woozle (formatting tweaks; removing all "item presentation" fields) |
imported>Woozle (+Seq field) |
||
Line 4: | Line 4: | ||
* '''History''': | * '''History''': | ||
** '''2009-06-16''' Changing table name to singular | ** '''2009-06-16''' Changing table name to singular | ||
** '''2009-07-12''' Tentatively removed all "item presentation" fields -- they belong in {{vbzcart|table|ord_lines}} | ** '''2009-07-12''' | ||
*** Tentatively removed all "item presentation" fields -- they belong in {{vbzcart|table|ord_lines}} | |||
*** Added '''Seq''' field | |||
* '''Fields''': | |||
** '''Seq''': unique incremental sequence number for each line in the cart, for identifying the record in contexts where it is exposed to outside manipulation. This way, URL/form hacking can never affect another cart's lines. | |||
==SQL== | ==SQL== | ||
<section begin=sql /><mysql>DROP TABLE IF EXISTS `shop_cart_line`; | <section begin=sql /><mysql>DROP TABLE IF EXISTS `shop_cart_line`; | ||
CREATE TABLE `shop_cart_line` ( | CREATE TABLE `shop_cart_line` ( | ||
`ID` INT NOT NULL AUTO_INCREMENT, | `ID` INT NOT NULL AUTO_INCREMENT, | ||
`Seq` INT NOT NULL COMMENT "sequence # within cart", | |||
`ID_Cart` INT NOT NULL COMMENT "shop_cart.ID", | `ID_Cart` INT NOT NULL COMMENT "shop_cart.ID", | ||
`ID_Item` INT NOT NULL COMMENT "cat_items.ID", | `ID_Item` INT NOT NULL COMMENT "cat_items.ID", |
Revision as of 16:48, 12 July 2009
About
- Purpose: individual items in a shopping cart
- Parent: Template:Vbzcart
- History:
- 2009-06-16 Changing table name to singular
- 2009-07-12
- Tentatively removed all "item presentation" fields -- they belong in Template:Vbzcart
- Added Seq field
- Fields:
- Seq: unique incremental sequence number for each line in the cart, for identifying the record in contexts where it is exposed to outside manipulation. This way, URL/form hacking can never affect another cart's lines.
SQL
<section begin=sql /><mysql>DROP TABLE IF EXISTS `shop_cart_line`; CREATE TABLE `shop_cart_line` (
`ID` INT NOT NULL AUTO_INCREMENT, `Seq` INT NOT NULL COMMENT "sequence # within cart", `ID_Cart` INT NOT NULL COMMENT "shop_cart.ID", `ID_Item` INT NOT NULL COMMENT "cat_items.ID", `Qty` INT NOT NULL COMMENT "quantity ordered; 0 = removed from order", `WhenAdded` DATETIME NOT NULL COMMENT "when this item was first added to the order", `WhenEdited` DATETIME NOT NULL COMMENT "when the quantity for this item was last changed", PRIMARY KEY(`ID`) ) ENGINE = MYISAM;</mysql>
<section end=sql />
Removed
I'm inclined to think that these don't belong here, but rather in Template:Vbzcart: <mysql> /* The remaining fields preserve a record of how the item was presented to the customer, and should be used
at shipping time -- overriding any possible changes to the item's catalog record. */
`PriceItem` DECIMAL(9,2) NOT NULL COMMENT "price of item quoted at order time", `PriceShItm` DECIMAL(9,2) NOT NULL COMMENT "per-item shipping quoted for this item at order time", `PriceShPkg` DECIMAL(9,2) NOT NULL COMMENT "per-package shipping quoted for this item at order time", `CatNum` VARCHAR(63) COMMENT "cat_items.CatNum of item as sold", `ID_Title` INT NOT NULL COMMENT "cat_titles.ID", `DescText` VARCHAR(255) NOT NULL COMMENT "plain-text description of item being ordered (e.g. for emails)", `DescHtml` VARCHAR(255) NOT NULL COMMENT "HTML description of item being ordered, for web-page display",
</mysql>