const chainSql = 'CREATE TABLE IF NOT EXISTS chain ( ' + 'id INTEGER PRIMARY KEY AUTOINCREMENT, ' + 'image TEXT, ' + 'name TEXT ' + ');'; const establishmentSql = 'CREATE TABLE IF NOT EXISTS establishment ( ' + 'id INTEGER PRIMARY KEY AUTOINCREMENT ,' + 'address TEXT NOT NULL, ' + 'chain_id INTEGER NOT NULL, ' + 'FOREIGN KEY (chain_id) REFERENCES chain(id) ON DELETE CASCADE ' + ');'; const establishmentChainIdxSql = 'CREATE INDEX IF NOT EXISTS idx_establishment_chain_id ON establishment(chain_id);'; const productSql = 'CREATE TABLE IF NOT EXISTS product ( ' + 'id INTEGER PRIMARY KEY AUTOINCREMENT, ' + 'barcode TEXT NOT NULL UNIQUE, ' + 'name TEXT NOT NULL DEFAULT "", ' + 'image TEXT ' + ');'; const productEstablishmentSql = 'CREATE TABLE IF NOT EXISTS product_establishment ( ' + 'id INTEGER PRIMARY KEY AUTOINCREMENT, ' + 'product_id INTEGER NOT NULL, ' + 'establishment_id INTEGER NOT NULL, ' + 'FOREIGN KEY (product_id) REFERENCES product(id) ON DELETE CASCADE, ' + 'FOREIGN KEY (establishment_id) REFERENCES establishment(id) ON DELETE CASCADE, ' + 'UNIQUE(product_id, establishment_id) ' + ');'; const purchaseSql = 'CREATE TABLE IF NOT EXISTS purchase ( ' + 'id INTEGER PRIMARY KEY AUTOINCREMENT, ' + 'establishment_id INTEGER NOT NULL, ' + 'product_id INTEGER NOT NULL, ' + 'price INTEGER NOT NULL DEFAULT 0, ' + 'quantity INTEGER NOT NULL DEFAULT 1, ' + 'date INTEGER NOT NULL, ' + 'FOREIGN KEY (establishment_id) REFERENCES establishment(id) ON DELETE CASCADE, ' + 'FOREIGN KEY (product_id) REFERENCES product(id) ON DELETE CASCADE ' + ');'; export const tables: [string, any[]][] = [ [chainSql, []], [establishmentSql, []], [establishmentChainIdxSql, []], [productSql, []], [productEstablishmentSql, []], [purchaseSql, []], ];