Updates schema, adds PersonShippingAddresses table
This commit is contained in:
@ -19,7 +19,7 @@ CREATE TABLE IF NOT EXISTS Persons (
|
||||
deleted_at INTEGER, /* timestamp */
|
||||
deleted_by TEXT(36), /* UUIDv4 */
|
||||
last_seen INTEGER, /* timestamp */
|
||||
shipping_address TEXT, /* optional, should use \n between lines to keep localized format as needed */
|
||||
/*shipping_address TEXT,*/ /* optional, should use \n between lines to keep localized format as needed - UPDATE: moving to lookup table */
|
||||
CONSTRAINT Persons_PK PRIMARY KEY (id),
|
||||
CONSTRAINT Persons_FK FOREIGN KEY (modified_by) REFERENCES Persons(id),
|
||||
CONSTRAINT Persons_FK_1 FOREIGN KEY (deleted_by) REFERENCES Persons(id)
|
||||
@ -31,6 +31,24 @@ CREATE INDEX IF NOT EXISTS Persons_is_active_IDX ON Persons (is_active);
|
||||
CREATE INDEX IF NOT EXISTS Persons_is_blocked_IDX ON Persons (is_blocked);
|
||||
CREATE INDEX IF NOT EXISTS Persons_deleted_at_IDX ON Persons (deleted_at);
|
||||
|
||||
-- The PersonShippingAddresses table is a one-to-many lookup table relating a Person to zero or more shipping addresses
|
||||
CREATE TABLE IF NOT EXISTS PersonShippingAddresses (
|
||||
id TEXT(36), /* UUIDv4 */
|
||||
person_id TEXT(36), /* UUIDv4 */
|
||||
shipping_address TEXT, /* mandatory, should use \n between lines to keep localized format as needed */
|
||||
is_primary INTEGER DEFAULT (0), /* bool, default false */
|
||||
created_at INTEGER, /* timestamp */
|
||||
modified_at INTEGER, /* timestamp */
|
||||
modified_by TEXT(36), /* UUIDv4 */
|
||||
deleted_at INTEGER, /* timestamp */
|
||||
deleted_by TEXT(36), /* UUIDv4 */
|
||||
CONSTRAINT PersonShippingAddresses_PK PRIMARY KEY (id),
|
||||
CONSTRAINT PersonShippingAddresses_FK FOREIGN KEY (person_id) REFERENCES Persons(id),
|
||||
CONSTRAINT PersonShippingAddresses_FK_1 FOREIGN KEY (modified_by) REFERENCES Persons(id),
|
||||
CONSTRAINT PersonShippingAddresses_FK_2 FOREIGN KEY (deleted_by) REFERENCES Persons(id)
|
||||
);
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS PersonShippingAddresses_is_primary_IDX ON PersonShippingAddresses (is_primary);
|
||||
|
||||
-- The PersonEmails table is a one-to-many lookup table relating a Person to zero or more email addresses
|
||||
CREATE TABLE IF NOT EXISTS PersonEmails (
|
||||
person_id TEXT(36),
|
||||
|
Reference in New Issue
Block a user