cake-order-tracker/internal/store/migrations/1.sql
2025-03-31 01:13:33 +02:00

112 lines
2.4 KiB
SQL

CREATE TABLE cake
(
id integer primary key autoincrement,
name text not null unique,
price integer not null,
category text,
availability text
);
CREATE TABLE customer_order
(
id integer primary key autoincrement,
name text,
surname text,
phone text,
location text,
order_date string not null,
delivery_date string not null,
status text,
paid integer
);
CREATE TABLE ordered_cake
(
customer_order integer references customer_order (id) not null,
cake integer references cake (id) not null,
amount integer not null,
primary key (customer_order, cake)
);
CREATE TABLE user
(
login text primary key,
password text,
role text,
salt text
);
CREATE TABLE session
(
token text primary key,
user text,
expiration text
);
create
virtual table order_fts using fts5 (
id,
name,
surname,
phone,
location,
order_date,
delivery_date,
status,
paid,
content = 'customer_order'
);
create trigger order_fts_insert
after insert
on customer_order
begin
insert into order_fts (id,
name,
surname,
phone,
location,
order_date,
delivery_date,
status,
paid)
values (new.id,
new.name,
new.surname,
new.phone,
new.location,
new.order_date,
new.delivery_date,
new.status,
new.paid);
end;
create trigger order_fts_delete
after delete
on customer_order
begin
delete
from order_fts
where id = old.id;
end;
create trigger order_fts_update
after
update
on customer_order
begin
update customer_order
set id = new.id,
name = new.name,
surname = new.surname,
phone = new.phone,
location = new.location,
order_date = new.order_date,
delivery_date = new.delivery_date,
status = new.status,
paid = new.paid
where id = old.id;
end;
pragma
user_version = 1;