Difference between revisions of "VbzCart/tables/cust"

from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
Jump to navigation Jump to search
("Title" field)
(WhenUpdated and WhenChanged)
Line 4: Line 4:
 
** '''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.
 
** '''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
 
** '''WhenCreated''': This should be NOT NULL on systems with no legacy data
** '''WhenChanged''': not sure if this field has a purpose; it could be set whenever Notes or ID_Repl are edited, maybe?
+
** '''WhenChanged''': when the contact's dependent records (address, emails, etc.) were last modified (probably not implemented much)
** '''WhenUpdated''': When this customer was updated (any time new order comes in, even if no contact info changes)
+
** '''WhenUpdated''': When this record was last modified
 
* '''History''':
 
* '''History''':
 
** '''2009-07-09''' moved to separate wiki page; no design changes
 
** '''2009-07-09''' moved to separate wiki page; no design changes
 
** '''2011-11-29''' added '''WhenUpdated''' field
 
** '''2011-11-29''' added '''WhenUpdated''' field
 
** '''2013-10-10''' added '''ID_User''' and '''Title''' fields (see {{vbzcart|table|core_users}} for rules)
 
** '''2013-10-10''' added '''ID_User''' and '''Title''' fields (see {{vbzcart|table|core_users}} for rules)
 +
** '''2016-06-12''' switching definitions of WhenChanged and WhenUpdated
 +
*** Only one record had WhenUpdated set; very few have WhenChanged set.
 
==SQL==
 
==SQL==
 
<mysql>CREATE TABLE `core_custs` (
 
<mysql>CREATE TABLE `core_custs` (
Line 20: Line 22:
 
   `ID_Repl`    INT      DEFAULT NULL  COMMENT "core_custs.ID of replacement",
 
   `ID_Repl`    INT      DEFAULT NULL  COMMENT "core_custs.ID of replacement",
 
   `WhenCreated` DATETIME  /*NOT NULL*/ COMMENT "when this record was created",
 
   `WhenCreated` DATETIME  /*NOT NULL*/ COMMENT "when this record was created",
   `WhenChanged` DATETIME DEFAULT NULL  COMMENT "when this record was last edited",
+
   `WhenUpdated` DATETIME DEFAULT NULL  COMMENT "when this record was last updated",
   `WhenUpdated` DATETIME DEFAULT NULL  COMMENT "when this contact was last updated",
+
   `WhenChanged` DATETIME DEFAULT NULL  COMMENT "when this record's dependent data was last edited",
 
   PRIMARY KEY(`ID`)
 
   PRIMARY KEY(`ID`)
 
)
 
)
 
ENGINE = MYISAM;</mysql>
 
ENGINE = MYISAM;</mysql>

Revision as of 13:06, 12 June 2016

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 core_users for rules)
    • 2016-06-12 switching definitions of WhenChanged and WhenUpdated
      • Only one record had WhenUpdated set; very few have WhenChanged set.

SQL

<mysql>CREATE TABLE `core_custs` (

 `ID`          INT          NOT NULL AUTO_INCREMENT,
 `ID_Name`     INT          NOT 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 = MYISAM;</mysql>