Files
sql/docker-entrypoint-initdb.d/1_initdb.sql
2025-09-01 07:56:13 +02:00

84 lines
2.2 KiB
SQL

create extension if not exists ltree;
create extension if not exists pgtap;
create extension if not exists postgis;
create extension if not exists pgrouting;
create extension if not exists vector;
create table adherent (
id int primary key,
nom text,
prenom text,
genre smallint,
naissance date,
codepostal text
);
create table famille (
code text primary key,
famille text,
code_parent text, -- references famille(code)
arborescence ltree
);
create table article (
code text primary key,
article text,
famille_code text, -- references famille(code)
factpoids boolean,
unitevente int,
prix decimal,
suivistock int
);
create table ticket (
id int primary key,
date_ticket timestamp,
adherent_id int, -- references adherent(id)
mode_rglt int
);
create table ligne (
id int primary key,
ticket_id int, --references ticket (id),
article_code text, -- references article (code)
prix_unitaire decimal,
quantite decimal
);
CREATE TABLE route (
id int primary key,
source int,
target int,
cost double precision,
reverse_cost double precision
);
CREATE TABLE produits (
id SERIAL PRIMARY KEY,
nom TEXT,
caracteristiques VECTOR(6)
);
INSERT INTO produits (nom, caracteristiques) VALUES
('Tomate', '[0.6, 0.3, 0.3, 1.0, 0.5, 1.0]'),
('Concombre', '[0.2, 0.1, 0.9, 1.0, 0.0, 0.0]'),
('Courgette', '[0.3, 0.1, 0.5, 1.0, 0.0, 0.0]'),
('Carotte', '[0.5, 0.1, 0.8, 0.5, 0.0, 1.0]'),
('Poivron', '[0.4, 0.2, 0.6, 1.0, 0.0, 1.0]'),
('Aubergine', '[0.2, 0.1, 0.4, 1.0, 0.0, 0.0]'),
('Pomme', '[0.8, 0.3, 0.9, 1.0, 1.0, 1.0]'),
('Poire', '[0.7, 0.2, 0.7, 1.0, 1.0, 0.0]'),
('Fraise', '[0.9, 0.4, 0.7, 1.0, 1.0, 1.0]'),
('Cerise', '[0.8, 0.3, 0.6, 1.0, 1.0, 1.0]'),
('Citron', '[0.2, 1.0, 0.6, 1.0, 1.0, 1.0]'),
('Orange', '[0.7, 0.6, 0.7, 1.0, 1.0, 1.0]'),
('Banane', '[0.9, 0.1, 0.2, 1.0, 1.0, 0.0]'),
('Raisin', '[0.8, 0.3, 0.5, 1.0, 1.0, 1.0]'),
('Pastèque', '[0.8, 0.2, 0.6, 1.0, 1.0, 1.0]'),
('Melon', '[0.9, 0.2, 0.5, 1.0, 1.0, 1.0]'),
('Betterave', '[0.5, 0.1, 0.4, 0.0, 0.0, 1.0]'),
('Radis', '[0.2, 0.3, 0.9, 0.5, 0.0, 1.0]'),
('Brocoli', '[0.1, 0.1, 0.6, 0.0, 0.0, 0.0]'),
('Chou-fleur', '[0.1, 0.1, 0.7, 0.0, 0.0, 0.0]');