-- Configuration de Garradin
CREATE TABLE config (
cle TEXT PRIMARY KEY,
valeur TEXT
);
-- On stocke ici les ID de catégorie de compta correspondant aux types spéciaux
-- compta_categorie_cotisations => id_categorie
-- compta_categorie_dons => id_categorie
-- Catégories de membres
CREATE TABLE membres_categories (
id INTEGER PRIMARY KEY,
nom TEXT,
description TEXT,
montant_cotisation REAL,
duree_cotisation INTEGER DEFAULT 12, -- En mois
droit_wiki INT DEFAULT 1,
droit_membres INT DEFAULT 1,
droit_compta INT DEFAULT 1,
droit_inscription INT DEFAULT 0,
droit_connexion INT DEFAULT 1,
droit_config INT DEFAULT 0
);
-- Membres de l'asso
CREATE TABLE membres (
id INTEGER PRIMARY KEY,
id_categorie INTEGER,
-- Connexion
passe TEXT,
-- Données personnelles
nom TEXT,
email TEXT,
adresse TEXT,
code_postal INTEGER,
ville TEXT,
pays TEXT,
telephone TEXT,
date_naissance TEXT,
-- Pour le bordel
notes TEXT,
date_inscription TEXT DEFAULT CURRENT_DATE,
date_connexion TEXT,
-- Dernière cotisation enregistrée
date_cotisation TEXT
);
CREATE INDEX membres_id_categorie ON membres (id_categorie);
--
-- COMPTA
--
CREATE TABLE compta_categories (
id INTEGER PRIMARY KEY,
nom TEXT,
description TEXT,
type_recus INTEGER, -- reçu fiscal, reçu de don, reçu de cotisation, facture
type_operations INTEGER -- 0 = dépense, 1 = recette
);
CREATE TABLE compta_comptes (
id INTEGER PRIMARY KEY,
libelle TEXT,
description TEXT,
banque TEXT,
iban TEXT,
bic TEXT,
solde_initial REAL,
solde REAL
);
CREATE TABLE compta_operations (
id INTEGER PRIMARY KEY,
libelle TEXT,
montant REAL,
description TEXT,
id_compte INTEGER,
id_categorie INTEGER,
id_auteur INTEGER
);
CREATE INDEX compta_operations_id_compte ON compta_operations (id_compte);
CREATE INDEX compta_operations_id_categorie ON compta_operations (id_categorie);
CREATE INDEX compta_operations_id_auteur ON compta_operations (id_auteur);
--
-- WIKI
--
CREATE TABLE wiki_pages (
id INTEGER PRIMARY KEY,
titre TEXT,
revision INTEGER,
acces INTEGER -- ID catégorie membre
);
CREATE TABLE wiki_revisions (
id_page INTEGER,
revision INTEGER,
id_auteur INTEGER,
suivi INTEGER, -- 0/1
contenu TEXT,
modification TEXT, -- Description des modifications effectuées
date TEXT DEFAULT CURRENT_TIMESTAMP,
chiffrement INTEGER, -- 0/1
PRIMARY KEY(id_page, revision)
);
CREATE INDEX wiki_revisions_id_page ON wiki_revisions (id_page);
CREATE INDEX wiki_revisions_id_auteur ON wiki_revisions (id_auteur, suivi);
CREATE TABLE wiki_fichiers (
id INTEGER PRIMARY KEY,
id_page INTEGER,
nom TEXT,
hash TEXT
);
CREATE INDEX wiki_fichiers_id_page ON wiki_fichiers (id_page);
--
-- générateur de paperasses
--
CREATE TABLE papiers (
id INTEGER PRIMARY KEY,
modele INTEGER,
donnees TEXT
);