CREATE TABLE publishers
(
`id` INTEGER PRIMARY KEY,
`name` TEXT NOT NULL,
`dateRecorded` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
`isDifficult` BOOLEAN NOT NULL DEFAULT 0
);
CREATE INDEX idx_publishers_name ON publishers (name);
CREATE TABLE products
(
`id` INTEGER PRIMARY KEY,
`name` TEXT NOT NULL,
`publisherId` INTEGER NOT NULL,
`amazonAsin` TEXT UNIQUE,
`dateSeen` TEXT NOT NULL,
`publisherApprovalStatus` TEXT NOT NULL DEFAULT 'pending',
`sellable` BOOLEAN NOT NULL DEFAULT 0,
`lastSalesRank` INTEGER,
`lastSalesRankDate` DATETIME, bookPublishingDate DATETIME,
FOREIGN KEY (publisherId) REFERENCES publishers (id) ON DELETE CASCADE
);
CREATE INDEX idx_products_publisherId ON products (publisherId);
CREATE INDEX idx_products_amazonAsin ON products (amazonAsin);
CREATE INDEX idx_products_publisherApprovalStatus ON products (publisherApprovalStatus);
CREATE INDEX idx_products_sellable ON products (sellable);
CREATE INDEX idx_products_lastSalesRank ON products (lastSalesRank);
CREATE TABLE publishers
(
`id` INTEGER PRIMARY KEY,
`name` TEXT NOT NULL,
`dateRecorded` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
`isDifficult` BOOLEAN NOT NULL DEFAULT 0
);
CREATE INDEX idx_publishers_name ON publishers (name);
CREATE TABLE products
(
`id` INTEGER PRIMARY KEY,
`name` TEXT NOT NULL,
`publisherId` INTEGER NOT NULL,
`amazonAsin` TEXT UNIQUE,
`dateSeen` TEXT NOT NULL,
`publisherApprovalStatus` TEXT NOT NULL DEFAULT 'pending',
`sellable` BOOLEAN NOT NULL DEFAULT 0,
`lastSalesRank` INTEGER,
`lastSalesRankDate` DATETIME, bookPublishingDate DATETIME,
FOREIGN KEY (publisherId) REFERENCES publishers (id) ON DELETE CASCADE
);
CREATE INDEX idx_products_publisherId ON products (publisherId);
CREATE INDEX idx_products_amazonAsin ON products (amazonAsin);
CREATE INDEX idx_products_publisherApprovalStatus ON products (publisherApprovalStatus);
CREATE INDEX idx_products_sellable ON products (sellable);
CREATE INDEX idx_products_lastSalesRank ON products (lastSalesRank);