VbzCart/docs/tables/cust: Difference between revisions
Jump to navigation
Jump to search
imported>Woozle No edit summary |
imported>Woozle No edit summary |
||
Line 12: | Line 12: | ||
** '''2016-06-12''' switching definitions of WhenChanged and WhenUpdated | ** '''2016-06-12''' switching definitions of WhenChanged and WhenUpdated | ||
*** Only one record had WhenUpdated set; very few have WhenChanged set. | *** Only one record had WhenUpdated set; very few have WhenChanged set. | ||
** '''2019-07-02''' renamed from "core_custs" to "cust" so it will group with the other customer tables | ** '''2019-07-02''' | ||
*** renamed from "core_custs" to "cust" so it will group with the other customer tables | |||
*** removed NOT NULL constraint on ID_Name because we need to create this record before we create the {{l/vc/table|cust_names}} record | |||
**** perhaps we can make this unnecessary later with transactions? but it messes with debugging, even so, so maybe we should just put in a post-creation test to make sure all necessary fields got filled in (log data error if not) | |||
==SQL== | ==SQL== | ||
<source lang=mysql>CREATE TABLE `cust` ( | <source lang=mysql>CREATE TABLE `cust` ( | ||
`ID` INT NOT NULL AUTO_INCREMENT, | `ID` INT NOT NULL AUTO_INCREMENT, | ||
`ID_Name` INT | `ID_Name` INT DEFAULT NULL COMMENT "cust_names.ID of default name", | ||
`ID_Addr` INT DEFAULT NULL COMMENT "cust_addrs.ID of default address", | `ID_Addr` INT DEFAULT NULL COMMENT "cust_addrs.ID of default address", | ||
`ID_User` INT DEFAULT NULL COMMENT "core_users.ID of user for this customer", | `ID_User` INT DEFAULT NULL COMMENT "core_users.ID of user for this customer", |
Revision as of 01:07, 3 July 2019
About
- Purpose: Core customer table – all the other customer data tables point to this one
- Fields:
- ID_Repl: If non-null, then this customer ID has been consolidated with the customer whose ID is in ID_Repl; whenever/wherever possible, replace occurrences of this ID with the value of the corresponding ID_Repl.
- WhenCreated: This should be NOT NULL on systems with no legacy data
- WhenChanged: when the contact's dependent records (address, emails, etc.) were last modified (probably not implemented much)
- WhenUpdated: When this record was last modified
- History:
- 2009-07-09 moved to separate wiki page; no design changes
- 2011-11-29 added WhenUpdated field
- 2013-10-10 added ID_User and Title fields (see Template:Vbzcart for rules)
- 2016-06-12 switching definitions of WhenChanged and WhenUpdated
- Only one record had WhenUpdated set; very few have WhenChanged set.
- 2019-07-02
- renamed from "core_custs" to "cust" so it will group with the other customer tables
- removed NOT NULL constraint on ID_Name because we need to create this record before we create the Template:L/vc/table record
- perhaps we can make this unnecessary later with transactions? but it messes with debugging, even so, so maybe we should just put in a post-creation test to make sure all necessary fields got filled in (log data error if not)
SQL
CREATE TABLE `cust` (
`ID` INT NOT NULL AUTO_INCREMENT,
`ID_Name` INT DEFAULT NULL COMMENT "cust_names.ID of default name",
`ID_Addr` INT DEFAULT NULL COMMENT "cust_addrs.ID of default address",
`ID_User` INT DEFAULT NULL COMMENT "core_users.ID of user for this customer",
`Title` VARCHAR(127) DEFAULT NULL COMMENT "user-entered title for this customer profile",
`Notes` VARCHAR(255) DEFAULT NULL COMMENT "admin-entered notes about this customer",
`ID_Repl` INT DEFAULT NULL COMMENT "core_custs.ID of replacement",
`WhenCreated` DATETIME /*NOT NULL*/ COMMENT "when this record was created",
`WhenUpdated` DATETIME DEFAULT NULL COMMENT "when this record was last updated",
`WhenChanged` DATETIME DEFAULT NULL COMMENT "when this record's dependent data was last edited",
PRIMARY KEY(`ID`)
)
ENGINE = InnoDB;