Artifact 68e5662649c6f0cf6a934810f90c536d7906381a:


0000: 43 52 45 41 54 45 20 54 41 42 4c 45 20 49 46 20  CREATE TABLE IF 
0010: 4e 4f 54 20 45 58 49 53 54 53 20 63 6f 6e 66 69  NOT EXISTS confi
0020: 67 20 28 0a 2d 2d 20 43 6f 6e 66 69 67 75 72 61  g (.-- Configura
0030: 74 69 6f 6e 20 64 65 20 47 61 72 72 61 64 69 6e  tion de Garradin
0040: 0a 20 20 20 20 63 6c 65 20 54 45 58 54 20 50 52  .    cle TEXT PR
0050: 49 4d 41 52 59 20 4b 45 59 20 4e 4f 54 20 4e 55  IMARY KEY NOT NU
0060: 4c 4c 2c 0a 20 20 20 20 76 61 6c 65 75 72 20 54  LL,.    valeur T
0070: 45 58 54 0a 29 3b 0a 0a 2d 2d 20 4f 6e 20 73 74  EXT.);..-- On st
0080: 6f 63 6b 65 20 69 63 69 20 6c 65 73 20 49 44 20  ocke ici les ID 
0090: 64 65 20 63 61 74 c3 a9 67 6f 72 69 65 20 64 65  de cat..gorie de
00a0: 20 63 6f 6d 70 74 61 20 63 6f 72 72 65 73 70 6f   compta correspo
00b0: 6e 64 61 6e 74 20 61 75 78 20 74 79 70 65 73 20  ndant aux types 
00c0: 73 70 c3 a9 63 69 61 75 78 0a 2d 2d 20 63 6f 6d  sp..ciaux.-- com
00d0: 70 74 61 5f 63 61 74 65 67 6f 72 69 65 5f 63 6f  pta_categorie_co
00e0: 74 69 73 61 74 69 6f 6e 73 20 3d 3e 20 69 64 5f  tisations => id_
00f0: 63 61 74 65 67 6f 72 69 65 0a 2d 2d 20 63 6f 6d  categorie.-- com
0100: 70 74 61 5f 63 61 74 65 67 6f 72 69 65 5f 64 6f  pta_categorie_do
0110: 6e 73 20 3d 3e 20 69 64 5f 63 61 74 65 67 6f 72  ns => id_categor
0120: 69 65 0a 0a 43 52 45 41 54 45 20 54 41 42 4c 45  ie..CREATE TABLE
0130: 20 49 46 20 4e 4f 54 20 45 58 49 53 54 53 20 6d   IF NOT EXISTS m
0140: 65 6d 62 72 65 73 5f 63 61 74 65 67 6f 72 69 65  embres_categorie
0150: 73 0a 2d 2d 20 43 61 74 c3 a9 67 6f 72 69 65 73  s.-- Cat..gories
0160: 20 64 65 20 6d 65 6d 62 72 65 73 0a 28 0a 20 20   de membres.(.  
0170: 20 20 69 64 20 49 4e 54 45 47 45 52 20 50 52 49    id INTEGER PRI
0180: 4d 41 52 59 20 4b 45 59 20 4e 4f 54 20 4e 55 4c  MARY KEY NOT NUL
0190: 4c 2c 0a 20 20 20 20 6e 6f 6d 20 54 45 58 54 20  L,.    nom TEXT 
01a0: 4e 4f 54 20 4e 55 4c 4c 2c 0a 20 20 20 20 64 65  NOT NULL,.    de
01b0: 73 63 72 69 70 74 69 6f 6e 20 54 45 58 54 20 4e  scription TEXT N
01c0: 55 4c 4c 2c 0a 0a 20 20 20 20 64 72 6f 69 74 5f  ULL,..    droit_
01d0: 77 69 6b 69 20 49 4e 54 45 47 45 52 20 4e 4f 54  wiki INTEGER NOT
01e0: 20 4e 55 4c 4c 20 44 45 46 41 55 4c 54 20 31 2c   NULL DEFAULT 1,
01f0: 0a 20 20 20 20 64 72 6f 69 74 5f 6d 65 6d 62 72  .    droit_membr
0200: 65 73 20 49 4e 54 45 47 45 52 20 4e 4f 54 20 4e  es INTEGER NOT N
0210: 55 4c 4c 20 44 45 46 41 55 4c 54 20 31 2c 0a 20  ULL DEFAULT 1,. 
0220: 20 20 20 64 72 6f 69 74 5f 63 6f 6d 70 74 61 20     droit_compta 
0230: 49 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55 4c 4c  INTEGER NOT NULL
0240: 20 44 45 46 41 55 4c 54 20 31 2c 0a 20 20 20 20   DEFAULT 1,.    
0250: 64 72 6f 69 74 5f 69 6e 73 63 72 69 70 74 69 6f  droit_inscriptio
0260: 6e 20 49 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55  n INTEGER NOT NU
0270: 4c 4c 20 44 45 46 41 55 4c 54 20 30 2c 0a 20 20  LL DEFAULT 0,.  
0280: 20 20 64 72 6f 69 74 5f 63 6f 6e 6e 65 78 69 6f    droit_connexio
0290: 6e 20 49 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55  n INTEGER NOT NU
02a0: 4c 4c 20 44 45 46 41 55 4c 54 20 31 2c 0a 20 20  LL DEFAULT 1,.  
02b0: 20 20 64 72 6f 69 74 5f 63 6f 6e 66 69 67 20 49    droit_config I
02c0: 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55 4c 4c 20  NTEGER NOT NULL 
02d0: 44 45 46 41 55 4c 54 20 30 2c 0a 20 20 20 20 63  DEFAULT 0,.    c
02e0: 61 63 68 65 72 20 49 4e 54 45 47 45 52 20 4e 4f  acher INTEGER NO
02f0: 54 20 4e 55 4c 4c 20 44 45 46 41 55 4c 54 20 30  T NULL DEFAULT 0
0300: 2c 0a 0a 20 20 20 20 69 64 5f 63 6f 74 69 73 61  ,..    id_cotisa
0310: 74 69 6f 6e 5f 6f 62 6c 69 67 61 74 6f 69 72 65  tion_obligatoire
0320: 20 49 4e 54 45 47 45 52 20 4e 55 4c 4c 20 52 45   INTEGER NULL RE
0330: 46 45 52 45 4e 43 45 53 20 63 6f 74 69 73 61 74  FERENCES cotisat
0340: 69 6f 6e 73 20 28 69 64 29 0a 29 3b 0a 0a 2d 2d  ions (id).);..--
0350: 20 4d 65 6d 62 72 65 73 20 64 65 20 6c 27 61 73   Membres de l'as
0360: 73 6f 0a 2d 2d 20 54 61 62 6c 65 20 64 79 6e 61  so.-- Table dyna
0370: 6d 69 71 75 65 20 67 c3 a9 6e c3 a9 72 c3 a9 65  mique g..n..r..e
0380: 20 70 61 72 20 6c 27 61 70 70 6c 69 63 61 74 69   par l'applicati
0390: 6f 6e 0a 2d 2d 20 76 6f 69 72 20 47 61 72 72 61  on.-- voir Garra
03a0: 64 69 6e 5c 4d 65 6d 62 72 65 73 5c 43 68 61 6d  din\Membres\Cham
03b0: 70 73 2e 70 68 70 0a 0a 43 52 45 41 54 45 20 54  ps.php..CREATE T
03c0: 41 42 4c 45 20 6d 65 6d 62 72 65 73 5f 73 65 73  ABLE membres_ses
03d0: 73 69 6f 6e 73 0a 2d 2d 20 53 65 73 73 69 6f 6e  sions.-- Session
03e0: 73 0a 28 0a 20 20 20 20 73 65 6c 65 63 74 65 75  s.(.    selecteu
03f0: 72 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c 4c 2c  r TEXT NOT NULL,
0400: 0a 20 20 20 20 68 61 73 68 20 54 45 58 54 20 4e  .    hash TEXT N
0410: 4f 54 20 4e 55 4c 4c 2c 0a 20 20 20 20 69 64 5f  OT NULL,.    id_
0420: 6d 65 6d 62 72 65 20 49 4e 54 45 47 45 52 20 4e  membre INTEGER N
0430: 4f 54 20 4e 55 4c 4c 2c 0a 20 20 20 20 65 78 70  OT NULL,.    exp
0440: 69 72 65 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c  ire TEXT NOT NUL
0450: 4c 20 43 48 45 43 4b 20 28 64 61 74 65 74 69 6d  L CHECK (datetim
0460: 65 28 65 78 70 69 72 65 29 20 49 53 20 4e 4f 54  e(expire) IS NOT
0470: 20 4e 55 4c 4c 20 41 4e 44 20 64 61 74 65 74 69   NULL AND dateti
0480: 6d 65 28 65 78 70 69 72 65 29 20 3d 20 65 78 70  me(expire) = exp
0490: 69 72 65 29 2c 0a 0a 20 20 20 20 46 4f 52 45 49  ire),..    FOREI
04a0: 47 4e 20 4b 45 59 20 28 69 64 5f 6d 65 6d 62 72  GN KEY (id_membr
04b0: 65 29 20 52 45 46 45 52 45 4e 43 45 53 20 6d 65  e) REFERENCES me
04c0: 6d 62 72 65 73 20 28 69 64 29 2c 0a 20 20 20 20  mbres (id),.    
04d0: 50 52 49 4d 41 52 59 20 4b 45 59 20 28 73 65 6c  PRIMARY KEY (sel
04e0: 65 63 74 65 75 72 2c 20 69 64 5f 6d 65 6d 62 72  ecteur, id_membr
04f0: 65 29 0a 29 3b 0a 0a 43 52 45 41 54 45 20 54 41  e).);..CREATE TA
0500: 42 4c 45 20 49 46 20 4e 4f 54 20 45 58 49 53 54  BLE IF NOT EXIST
0510: 53 20 63 6f 74 69 73 61 74 69 6f 6e 73 0a 2d 2d  S cotisations.--
0520: 20 54 79 70 65 73 20 64 65 20 63 6f 74 69 73 61   Types de cotisa
0530: 74 69 6f 6e 73 20 65 74 20 61 63 74 69 76 69 74  tions et activit
0540: c3 a9 73 0a 28 0a 20 20 20 20 69 64 20 49 4e 54  ..s.(.    id INT
0550: 45 47 45 52 20 50 52 49 4d 41 52 59 20 4b 45 59  EGER PRIMARY KEY
0560: 20 4e 4f 54 20 4e 55 4c 4c 2c 0a 20 20 20 20 69   NOT NULL,.    i
0570: 64 5f 63 61 74 65 67 6f 72 69 65 5f 63 6f 6d 70  d_categorie_comp
0580: 74 61 20 49 4e 54 45 47 45 52 20 4e 55 4c 4c 2c  ta INTEGER NULL,
0590: 20 2d 2d 20 4e 55 4c 4c 20 73 69 20 6c 65 20 74   -- NULL si le t
05a0: 79 70 65 20 6e 27 65 73 74 20 70 61 73 20 61 73  ype n'est pas as
05b0: 73 6f 63 69 c3 a9 20 61 75 74 6f 6d 61 74 69 71  soci.. automatiq
05c0: 75 65 6d 65 6e 74 20 c3 a0 20 6c 61 20 63 6f 6d  uement .. la com
05d0: 70 74 61 0a 0a 20 20 20 20 69 6e 74 69 74 75 6c  pta..    intitul
05e0: 65 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c 4c 2c  e TEXT NOT NULL,
05f0: 0a 20 20 20 20 64 65 73 63 72 69 70 74 69 6f 6e  .    description
0600: 20 54 45 58 54 20 4e 55 4c 4c 2c 0a 20 20 20 20   TEXT NULL,.    
0610: 6d 6f 6e 74 61 6e 74 20 52 45 41 4c 20 4e 4f 54  montant REAL NOT
0620: 20 4e 55 4c 4c 2c 0a 0a 20 20 20 20 64 75 72 65   NULL,..    dure
0630: 65 20 49 4e 54 45 47 45 52 20 4e 55 4c 4c 2c 20  e INTEGER NULL, 
0640: 2d 2d 20 45 6e 20 6a 6f 75 72 73 0a 20 20 20 20  -- En jours.    
0650: 64 65 62 75 74 20 54 45 58 54 20 4e 55 4c 4c 2c  debut TEXT NULL,
0660: 20 2d 2d 20 74 69 6d 65 73 74 61 6d 70 0a 20 20   -- timestamp.  
0670: 20 20 66 69 6e 20 54 45 58 54 20 4e 55 4c 4c 2c    fin TEXT NULL,
0680: 0a 0a 20 20 20 20 46 4f 52 45 49 47 4e 20 4b 45  ..    FOREIGN KE
0690: 59 20 28 69 64 5f 63 61 74 65 67 6f 72 69 65 5f  Y (id_categorie_
06a0: 63 6f 6d 70 74 61 29 20 52 45 46 45 52 45 4e 43  compta) REFERENC
06b0: 45 53 20 63 6f 6d 70 74 61 5f 63 61 74 65 67 6f  ES compta_catego
06c0: 72 69 65 73 20 28 69 64 29 0a 29 3b 0a 0a 43 52  ries (id).);..CR
06d0: 45 41 54 45 20 54 41 42 4c 45 20 49 46 20 4e 4f  EATE TABLE IF NO
06e0: 54 20 45 58 49 53 54 53 20 63 6f 74 69 73 61 74  T EXISTS cotisat
06f0: 69 6f 6e 73 5f 6d 65 6d 62 72 65 73 0a 2d 2d 20  ions_membres.-- 
0700: 45 6e 72 65 67 69 73 74 72 65 6d 65 6e 74 20 64  Enregistrement d
0710: 65 73 20 63 6f 74 69 73 61 74 69 6f 6e 73 20 65  es cotisations e
0720: 74 20 61 63 74 69 76 69 74 c3 a9 73 0a 28 0a 20  t activit..s.(. 
0730: 20 20 20 69 64 20 49 4e 54 45 47 45 52 20 4e 4f     id INTEGER NO
0740: 54 20 4e 55 4c 4c 20 50 52 49 4d 41 52 59 20 4b  T NULL PRIMARY K
0750: 45 59 2c 0a 20 20 20 20 69 64 5f 6d 65 6d 62 72  EY,.    id_membr
0760: 65 20 49 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55  e INTEGER NOT NU
0770: 4c 4c 20 52 45 46 45 52 45 4e 43 45 53 20 6d 65  LL REFERENCES me
0780: 6d 62 72 65 73 20 28 69 64 29 2c 0a 20 20 20 20  mbres (id),.    
0790: 69 64 5f 63 6f 74 69 73 61 74 69 6f 6e 20 49 4e  id_cotisation IN
07a0: 54 45 47 45 52 20 4e 4f 54 20 4e 55 4c 4c 20 52  TEGER NOT NULL R
07b0: 45 46 45 52 45 4e 43 45 53 20 63 6f 74 69 73 61  EFERENCES cotisa
07c0: 74 69 6f 6e 73 20 28 69 64 29 2c 0a 0a 20 20 20  tions (id),..   
07d0: 20 64 61 74 65 20 54 45 58 54 20 4e 4f 54 20 4e   date TEXT NOT N
07e0: 55 4c 4c 20 44 45 46 41 55 4c 54 20 43 55 52 52  ULL DEFAULT CURR
07f0: 45 4e 54 5f 44 41 54 45 20 43 48 45 43 4b 20 28  ENT_DATE CHECK (
0800: 64 61 74 65 28 64 61 74 65 29 20 49 53 20 4e 4f  date(date) IS NO
0810: 54 20 4e 55 4c 4c 20 41 4e 44 20 64 61 74 65 28  T NULL AND date(
0820: 64 61 74 65 29 20 3d 20 64 61 74 65 29 0a 29 3b  date) = date).);
0830: 0a 0a 43 52 45 41 54 45 20 55 4e 49 51 55 45 20  ..CREATE UNIQUE 
0840: 49 4e 44 45 58 20 49 46 20 4e 4f 54 20 45 58 49  INDEX IF NOT EXI
0850: 53 54 53 20 63 6d 5f 75 6e 69 71 75 65 20 4f 4e  STS cm_unique ON
0860: 20 63 6f 74 69 73 61 74 69 6f 6e 73 5f 6d 65 6d   cotisations_mem
0870: 62 72 65 73 20 28 69 64 5f 6d 65 6d 62 72 65 2c  bres (id_membre,
0880: 20 69 64 5f 63 6f 74 69 73 61 74 69 6f 6e 2c 20   id_cotisation, 
0890: 64 61 74 65 29 3b 0a 0a 43 52 45 41 54 45 20 54  date);..CREATE T
08a0: 41 42 4c 45 20 49 46 20 4e 4f 54 20 45 58 49 53  ABLE IF NOT EXIS
08b0: 54 53 20 6d 65 6d 62 72 65 73 5f 6f 70 65 72 61  TS membres_opera
08c0: 74 69 6f 6e 73 0a 2d 2d 20 4c 69 61 69 73 69 6f  tions.-- Liaisio
08d0: 6e 20 64 65 73 20 65 6e 72 65 67 69 73 74 72 65  n des enregistre
08e0: 6d 65 6e 74 20 64 65 73 20 70 61 69 65 6d 65 6e  ment des paiemen
08f0: 74 73 20 65 6e 20 63 6f 6d 70 74 61 0a 28 0a 20  ts en compta.(. 
0900: 20 20 20 69 64 5f 6d 65 6d 62 72 65 20 49 4e 54     id_membre INT
0910: 45 47 45 52 20 4e 4f 54 20 4e 55 4c 4c 20 52 45  EGER NOT NULL RE
0920: 46 45 52 45 4e 43 45 53 20 6d 65 6d 62 72 65 73  FERENCES membres
0930: 20 28 69 64 29 2c 0a 20 20 20 20 69 64 5f 6f 70   (id),.    id_op
0940: 65 72 61 74 69 6f 6e 20 49 4e 54 45 47 45 52 20  eration INTEGER 
0950: 4e 4f 54 20 4e 55 4c 4c 20 52 45 46 45 52 45 4e  NOT NULL REFEREN
0960: 43 45 53 20 63 6f 6d 70 74 61 5f 6a 6f 75 72 6e  CES compta_journ
0970: 61 6c 20 28 69 64 29 2c 0a 20 20 20 20 69 64 5f  al (id),.    id_
0980: 63 6f 74 69 73 61 74 69 6f 6e 20 49 4e 54 45 47  cotisation INTEG
0990: 45 52 20 4e 55 4c 4c 20 52 45 46 45 52 45 4e 43  ER NULL REFERENC
09a0: 45 53 20 63 6f 74 69 73 61 74 69 6f 6e 73 5f 6d  ES cotisations_m
09b0: 65 6d 62 72 65 73 20 28 69 64 29 2c 0a 0a 20 20  embres (id),..  
09c0: 20 20 50 52 49 4d 41 52 59 20 4b 45 59 20 28 69    PRIMARY KEY (i
09d0: 64 5f 6d 65 6d 62 72 65 2c 20 69 64 5f 6f 70 65  d_membre, id_ope
09e0: 72 61 74 69 6f 6e 29 0a 29 3b 0a 0a 43 52 45 41  ration).);..CREA
09f0: 54 45 20 54 41 42 4c 45 20 49 46 20 4e 4f 54 20  TE TABLE IF NOT 
0a00: 45 58 49 53 54 53 20 72 61 70 70 65 6c 73 0a 2d  EXISTS rappels.-
0a10: 2d 20 52 61 70 70 65 6c 73 20 64 65 20 64 65 76  - Rappels de dev
0a20: 6f 69 72 20 72 65 6e 6f 75 76 65 6c 6c 65 72 20  oir renouveller 
0a30: 75 6e 65 20 63 6f 74 69 73 61 74 69 6f 6e 0a 28  une cotisation.(
0a40: 0a 20 20 20 20 69 64 20 49 4e 54 45 47 45 52 20  .    id INTEGER 
0a50: 4e 4f 54 20 4e 55 4c 4c 20 50 52 49 4d 41 52 59  NOT NULL PRIMARY
0a60: 20 4b 45 59 2c 0a 20 20 20 20 69 64 5f 63 6f 74   KEY,.    id_cot
0a70: 69 73 61 74 69 6f 6e 20 49 4e 54 45 47 45 52 20  isation INTEGER 
0a80: 4e 4f 54 20 4e 55 4c 4c 20 52 45 46 45 52 45 4e  NOT NULL REFEREN
0a90: 43 45 53 20 63 6f 74 69 73 61 74 69 6f 6e 73 20  CES cotisations 
0aa0: 28 69 64 29 2c 0a 0a 20 20 20 20 64 65 6c 61 69  (id),..    delai
0ab0: 20 49 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55 4c   INTEGER NOT NUL
0ac0: 4c 2c 20 2d 2d 20 44 c3 a9 6c 61 69 20 65 6e 20  L, -- D..lai en 
0ad0: 6a 6f 75 72 73 20 70 6f 75 72 20 65 6e 76 6f 79  jours pour envoy
0ae0: 65 72 20 6c 65 20 72 61 70 70 65 6c 0a 0a 20 20  er le rappel..  
0af0: 20 20 73 75 6a 65 74 20 54 45 58 54 20 4e 4f 54    sujet TEXT NOT
0b00: 20 4e 55 4c 4c 2c 0a 20 20 20 20 74 65 78 74 65   NULL,.    texte
0b10: 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c 4c 0a 29   TEXT NOT NULL.)
0b20: 3b 0a 0a 43 52 45 41 54 45 20 54 41 42 4c 45 20  ;..CREATE TABLE 
0b30: 49 46 20 4e 4f 54 20 45 58 49 53 54 53 20 72 61  IF NOT EXISTS ra
0b40: 70 70 65 6c 73 5f 65 6e 76 6f 79 65 73 0a 2d 2d  ppels_envoyes.--
0b50: 20 45 6e 72 65 67 69 73 74 72 65 6d 65 6e 74 20   Enregistrement 
0b60: 64 65 73 20 72 61 70 70 65 6c 73 20 65 6e 76 6f  des rappels envo
0b70: 79 c3 a9 73 20 c3 a0 20 71 75 69 20 65 74 20 71  y..s .. qui et q
0b80: 75 61 6e 64 0a 28 0a 20 20 20 20 69 64 20 49 4e  uand.(.    id IN
0b90: 54 45 47 45 52 20 4e 4f 54 20 4e 55 4c 4c 20 50  TEGER NOT NULL P
0ba0: 52 49 4d 41 52 59 20 4b 45 59 2c 0a 0a 20 20 20  RIMARY KEY,..   
0bb0: 20 69 64 5f 6d 65 6d 62 72 65 20 49 4e 54 45 47   id_membre INTEG
0bc0: 45 52 20 4e 4f 54 20 4e 55 4c 4c 20 52 45 46 45  ER NOT NULL REFE
0bd0: 52 45 4e 43 45 53 20 6d 65 6d 62 72 65 73 20 28  RENCES membres (
0be0: 69 64 29 2c 0a 20 20 20 20 69 64 5f 63 6f 74 69  id),.    id_coti
0bf0: 73 61 74 69 6f 6e 20 49 4e 54 45 47 45 52 20 4e  sation INTEGER N
0c00: 4f 54 20 4e 55 4c 4c 20 52 45 46 45 52 45 4e 43  OT NULL REFERENC
0c10: 45 53 20 63 6f 74 69 73 61 74 69 6f 6e 73 20 28  ES cotisations (
0c20: 69 64 29 2c 0a 20 20 20 20 69 64 5f 72 61 70 70  id),.    id_rapp
0c30: 65 6c 20 49 4e 54 45 47 45 52 20 4e 55 4c 4c 20  el INTEGER NULL 
0c40: 52 45 46 45 52 45 4e 43 45 53 20 72 61 70 70 65  REFERENCES rappe
0c50: 6c 73 20 28 69 64 29 2c 0a 0a 20 20 20 20 64 61  ls (id),..    da
0c60: 74 65 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c 4c  te TEXT NOT NULL
0c70: 20 44 45 46 41 55 4c 54 20 43 55 52 52 45 4e 54   DEFAULT CURRENT
0c80: 5f 54 49 4d 45 53 54 41 4d 50 20 43 48 45 43 4b  _TIMESTAMP CHECK
0c90: 20 28 64 61 74 65 74 69 6d 65 28 64 61 74 65 29   (datetime(date)
0ca0: 20 49 53 20 4e 4f 54 20 4e 55 4c 4c 20 41 4e 44   IS NOT NULL AND
0cb0: 20 64 61 74 65 74 69 6d 65 28 64 61 74 65 29 20   datetime(date) 
0cc0: 3d 20 64 61 74 65 29 2c 0a 0a 20 20 20 20 6d 65  = date),..    me
0cd0: 64 69 61 20 49 4e 54 45 47 45 52 20 4e 4f 54 20  dia INTEGER NOT 
0ce0: 4e 55 4c 4c 20 2d 2d 20 4d c3 a9 64 69 61 20 75  NULL -- M..dia u
0cf0: 74 69 6c 69 73 c3 a9 20 70 6f 75 72 20 6c 65 20  tilis.. pour le 
0d00: 72 61 70 70 65 6c 20 3a 20 31 20 3d 20 65 6d 61  rappel : 1 = ema
0d10: 69 6c 2c 20 32 20 3d 20 63 6f 75 72 72 69 65 72  il, 2 = courrier
0d20: 2c 20 33 20 3d 20 61 75 74 72 65 0a 29 3b 0a 0a  , 3 = autre.);..
0d30: 2d 2d 0a 2d 2d 20 57 49 4b 49 0a 2d 2d 0a 0a 43  --.-- WIKI.--..C
0d40: 52 45 41 54 45 20 54 41 42 4c 45 20 49 46 20 4e  REATE TABLE IF N
0d50: 4f 54 20 45 58 49 53 54 53 20 77 69 6b 69 5f 70  OT EXISTS wiki_p
0d60: 61 67 65 73 0a 2d 2d 20 50 61 67 65 73 20 64 75  ages.-- Pages du
0d70: 20 77 69 6b 69 0a 28 0a 20 20 20 20 69 64 20 49   wiki.(.    id I
0d80: 4e 54 45 47 45 52 20 50 52 49 4d 41 52 59 20 4b  NTEGER PRIMARY K
0d90: 45 59 20 4e 4f 54 20 4e 55 4c 4c 2c 0a 20 20 20  EY NOT NULL,.   
0da0: 20 75 72 69 20 54 45 58 54 20 4e 4f 54 20 4e 55   uri TEXT NOT NU
0db0: 4c 4c 2c 20 2d 2d 20 55 52 49 20 75 6e 69 71 75  LL, -- URI uniqu
0dc0: 65 20 28 c3 a9 71 75 69 76 61 6c 65 6e 74 20 4e  e (..quivalent N
0dd0: 6f 6d 50 61 67 65 57 69 6b 69 29 0a 20 20 20 20  omPageWiki).    
0de0: 74 69 74 72 65 20 54 45 58 54 20 4e 4f 54 20 4e  titre TEXT NOT N
0df0: 55 4c 4c 2c 0a 20 20 20 20 64 61 74 65 5f 63 72  ULL,.    date_cr
0e00: 65 61 74 69 6f 6e 20 54 45 58 54 20 4e 4f 54 20  eation TEXT NOT 
0e10: 4e 55 4c 4c 20 44 45 46 41 55 4c 54 20 43 55 52  NULL DEFAULT CUR
0e20: 52 45 4e 54 5f 54 49 4d 45 53 54 41 4d 50 20 43  RENT_TIMESTAMP C
0e30: 48 45 43 4b 20 28 64 61 74 65 74 69 6d 65 28 64  HECK (datetime(d
0e40: 61 74 65 5f 63 72 65 61 74 69 6f 6e 29 20 49 53  ate_creation) IS
0e50: 20 4e 4f 54 20 4e 55 4c 4c 20 41 4e 44 20 64 61   NOT NULL AND da
0e60: 74 65 74 69 6d 65 28 64 61 74 65 5f 63 72 65 61  tetime(date_crea
0e70: 74 69 6f 6e 29 20 3d 20 64 61 74 65 5f 63 72 65  tion) = date_cre
0e80: 61 74 69 6f 6e 29 2c 0a 20 20 20 20 64 61 74 65  ation),.    date
0e90: 5f 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 54 45  _modification TE
0ea0: 58 54 20 4e 4f 54 20 4e 55 4c 4c 20 44 45 46 41  XT NOT NULL DEFA
0eb0: 55 4c 54 20 43 55 52 52 45 4e 54 5f 54 49 4d 45  ULT CURRENT_TIME
0ec0: 53 54 41 4d 50 20 43 48 45 43 4b 20 28 64 61 74  STAMP CHECK (dat
0ed0: 65 74 69 6d 65 28 64 61 74 65 5f 6d 6f 64 69 66  etime(date_modif
0ee0: 69 63 61 74 69 6f 6e 29 20 49 53 20 4e 4f 54 20  ication) IS NOT 
0ef0: 4e 55 4c 4c 20 41 4e 44 20 64 61 74 65 74 69 6d  NULL AND datetim
0f00: 65 28 64 61 74 65 5f 6d 6f 64 69 66 69 63 61 74  e(date_modificat
0f10: 69 6f 6e 29 20 3d 20 64 61 74 65 5f 6d 6f 64 69  ion) = date_modi
0f20: 66 69 63 61 74 69 6f 6e 29 2c 0a 20 20 20 20 70  fication),.    p
0f30: 61 72 65 6e 74 20 49 4e 54 45 47 45 52 20 4e 4f  arent INTEGER NO
0f40: 54 20 4e 55 4c 4c 20 44 45 46 41 55 4c 54 20 30  T NULL DEFAULT 0
0f50: 2c 20 2d 2d 20 49 44 20 64 65 20 6c 61 20 70 61  , -- ID de la pa
0f60: 67 65 20 70 61 72 65 6e 74 0a 20 20 20 20 72 65  ge parent.    re
0f70: 76 69 73 69 6f 6e 20 49 4e 54 45 47 45 52 20 4e  vision INTEGER N
0f80: 4f 54 20 4e 55 4c 4c 20 44 45 46 41 55 4c 54 20  OT NULL DEFAULT 
0f90: 30 2c 20 2d 2d 20 4e 75 6d c3 a9 72 6f 20 64 65  0, -- Num..ro de
0fa0: 20 72 c3 a9 76 69 73 69 6f 6e 20 28 63 6f 6d 6d   r..vision (comm
0fb0: 65 6e 63 65 20 c3 a0 20 30 20 73 69 20 70 61 73  ence .. 0 si pas
0fc0: 20 64 65 20 74 65 78 74 65 2c 20 2b 31 20 c3 a0   de texte, +1 ..
0fd0: 20 63 68 61 71 75 65 20 63 68 61 6e 67 65 6d 65   chaque changeme
0fe0: 6e 74 20 64 75 20 74 65 78 74 65 29 0a 20 20 20  nt du texte).   
0ff0: 20 64 72 6f 69 74 5f 6c 65 63 74 75 72 65 20 49   droit_lecture I
1000: 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55 4c 4c 20  NTEGER NOT NULL 
1010: 44 45 46 41 55 4c 54 20 30 2c 20 2d 2d 20 41 63  DEFAULT 0, -- Ac
1020: 63 c3 a8 73 20 65 6e 20 6c 65 63 74 75 72 65 20  c..s en lecture 
1030: 28 2d 31 20 3d 20 70 75 62 6c 69 63 20 5b 73 69  (-1 = public [si
1040: 74 65 20 77 65 62 5d 2c 20 30 20 3d 20 74 6f 75  te web], 0 = tou
1050: 73 20 63 65 75 78 20 71 75 69 20 6f 6e 74 20 61  s ceux qui ont a
1060: 63 63 c3 a8 73 20 65 6e 20 6c 65 63 74 75 72 65  cc..s en lecture
1070: 20 61 75 20 77 69 6b 69 2c 20 31 2b 20 3d 20 49   au wiki, 1+ = I
1080: 44 20 64 65 20 67 72 6f 75 70 65 29 0a 20 20 20  D de groupe).   
1090: 20 64 72 6f 69 74 5f 65 63 72 69 74 75 72 65 20   droit_ecriture 
10a0: 49 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55 4c 4c  INTEGER NOT NULL
10b0: 20 44 45 46 41 55 4c 54 20 30 20 2d 2d 20 41 63   DEFAULT 0 -- Ac
10c0: 63 c3 a8 73 20 65 6e 20 c3 a9 63 72 69 74 75 72  c..s en ..critur
10d0: 65 20 28 30 20 3d 20 74 6f 75 73 20 63 65 75 78  e (0 = tous ceux
10e0: 20 71 75 69 20 6f 6e 74 20 64 72 6f 69 74 20 64   qui ont droit d
10f0: 27 c3 a9 63 72 69 74 75 72 65 20 73 75 72 20 6c  '..criture sur l
1100: 65 20 77 69 6b 69 2c 20 31 2b 20 3d 20 49 44 20  e wiki, 1+ = ID 
1110: 64 65 20 67 72 6f 75 70 65 29 0a 29 3b 0a 0a 43  de groupe).);..C
1120: 52 45 41 54 45 20 55 4e 49 51 55 45 20 49 4e 44  REATE UNIQUE IND
1130: 45 58 20 49 46 20 4e 4f 54 20 45 58 49 53 54 53  EX IF NOT EXISTS
1140: 20 77 69 6b 69 5f 75 72 69 20 4f 4e 20 77 69 6b   wiki_uri ON wik
1150: 69 5f 70 61 67 65 73 20 28 75 72 69 29 3b 0a 0a  i_pages (uri);..
1160: 43 52 45 41 54 45 20 56 49 52 54 55 41 4c 20 54  CREATE VIRTUAL T
1170: 41 42 4c 45 20 49 46 20 4e 4f 54 20 45 58 49 53  ABLE IF NOT EXIS
1180: 54 53 20 77 69 6b 69 5f 72 65 63 68 65 72 63 68  TS wiki_recherch
1190: 65 20 55 53 49 4e 47 20 66 74 73 34 0a 2d 2d 20  e USING fts4.-- 
11a0: 54 61 62 6c 65 20 64 75 70 6c 69 71 75 c3 a9 65  Table dupliqu..e
11b0: 20 70 6f 75 72 20 63 68 65 72 63 68 65 72 20 75   pour chercher u
11c0: 6e 65 20 70 61 67 65 0a 28 0a 20 20 20 20 69 64  ne page.(.    id
11d0: 20 49 4e 54 20 50 52 49 4d 41 52 59 20 4b 45 59   INT PRIMARY KEY
11e0: 20 4e 4f 54 20 4e 55 4c 4c 2c 20 2d 2d 20 43 6c   NOT NULL, -- Cl
11f0: c3 a9 20 65 78 74 65 72 6e 65 20 6f 62 6c 69 67  .. externe oblig
1200: 61 74 6f 69 72 65 0a 20 20 20 20 74 69 74 72 65  atoire.    titre
1210: 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c 4c 2c 0a   TEXT NOT NULL,.
1220: 20 20 20 20 63 6f 6e 74 65 6e 75 20 54 45 58 54      contenu TEXT
1230: 20 4e 55 4c 4c 2c 20 2d 2d 20 43 6f 6e 74 65 6e   NULL, -- Conten
1240: 75 20 64 65 20 6c 61 20 64 65 72 6e 69 c3 a8 72  u de la derni..r
1250: 65 20 72 c3 a9 76 69 73 69 6f 6e 0a 20 20 20 20  e r..vision.    
1260: 46 4f 52 45 49 47 4e 20 4b 45 59 20 28 69 64 29  FOREIGN KEY (id)
1270: 20 52 45 46 45 52 45 4e 43 45 53 20 77 69 6b 69   REFERENCES wiki
1280: 5f 70 61 67 65 73 28 69 64 29 0a 29 3b 0a 0a 43  _pages(id).);..C
1290: 52 45 41 54 45 20 54 41 42 4c 45 20 49 46 20 4e  REATE TABLE IF N
12a0: 4f 54 20 45 58 49 53 54 53 20 77 69 6b 69 5f 72  OT EXISTS wiki_r
12b0: 65 76 69 73 69 6f 6e 73 0a 2d 2d 20 52 c3 a9 76  evisions.-- R..v
12c0: 69 73 69 6f 6e 73 20 64 75 20 63 6f 6e 74 65 6e  isions du conten
12d0: 75 20 64 65 73 20 70 61 67 65 73 0a 28 0a 20 20  u des pages.(.  
12e0: 20 20 69 64 5f 70 61 67 65 20 49 4e 54 45 47 45    id_page INTEGE
12f0: 52 20 4e 4f 54 20 4e 55 4c 4c 2c 0a 20 20 20 20  R NOT NULL,.    
1300: 72 65 76 69 73 69 6f 6e 20 49 4e 54 45 47 45 52  revision INTEGER
1310: 20 4e 55 4c 4c 2c 0a 0a 20 20 20 20 69 64 5f 61   NULL,..    id_a
1320: 75 74 65 75 72 20 49 4e 54 45 47 45 52 20 4e 55  uteur INTEGER NU
1330: 4c 4c 2c 0a 0a 20 20 20 20 63 6f 6e 74 65 6e 75  LL,..    contenu
1340: 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c 4c 2c 0a   TEXT NOT NULL,.
1350: 20 20 20 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e      modification
1360: 20 54 45 58 54 20 4e 55 4c 4c 2c 20 2d 2d 20 44   TEXT NULL, -- D
1370: 65 73 63 72 69 70 74 69 6f 6e 20 64 65 73 20 6d  escription des m
1380: 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 65 66 66  odifications eff
1390: 65 63 74 75 c3 a9 65 73 0a 20 20 20 20 63 68 69  ectu..es.    chi
13a0: 66 66 72 65 6d 65 6e 74 20 49 4e 54 45 47 45 52  ffrement INTEGER
13b0: 20 4e 4f 54 20 4e 55 4c 4c 20 44 45 46 41 55 4c   NOT NULL DEFAUL
13c0: 54 20 30 2c 20 2d 2d 20 31 20 73 69 20 6c 65 20  T 0, -- 1 si le 
13d0: 63 6f 6e 74 65 6e 75 20 65 73 74 20 63 68 69 66  contenu est chif
13e0: 66 72 c3 a9 2c 20 30 20 73 69 6e 6f 6e 0a 20 20  fr.., 0 sinon.  
13f0: 20 20 64 61 74 65 20 54 45 58 54 20 4e 4f 54 20    date TEXT NOT 
1400: 4e 55 4c 4c 20 44 45 46 41 55 4c 54 20 43 55 52  NULL DEFAULT CUR
1410: 52 45 4e 54 5f 54 49 4d 45 53 54 41 4d 50 20 43  RENT_TIMESTAMP C
1420: 48 45 43 4b 20 28 64 61 74 65 74 69 6d 65 28 64  HECK (datetime(d
1430: 61 74 65 29 20 49 53 20 4e 4f 54 20 4e 55 4c 4c  ate) IS NOT NULL
1440: 20 41 4e 44 20 64 61 74 65 74 69 6d 65 28 64 61   AND datetime(da
1450: 74 65 29 20 3d 20 64 61 74 65 29 2c 0a 0a 20 20  te) = date),..  
1460: 20 20 50 52 49 4d 41 52 59 20 4b 45 59 28 69 64    PRIMARY KEY(id
1470: 5f 70 61 67 65 2c 20 72 65 76 69 73 69 6f 6e 29  _page, revision)
1480: 2c 0a 20 20 20 20 46 4f 52 45 49 47 4e 20 4b 45  ,.    FOREIGN KE
1490: 59 20 28 69 64 5f 70 61 67 65 29 20 52 45 46 45  Y (id_page) REFE
14a0: 52 45 4e 43 45 53 20 77 69 6b 69 5f 70 61 67 65  RENCES wiki_page
14b0: 73 20 28 69 64 29 2c 20 2d 2d 20 43 6c c3 a9 20  s (id), -- Cl.. 
14c0: 65 78 74 65 72 6e 65 20 6f 62 6c 69 67 61 74 6f  externe obligato
14d0: 69 72 65 0a 20 20 20 20 46 4f 52 45 49 47 4e 20  ire.    FOREIGN 
14e0: 4b 45 59 20 28 69 64 5f 61 75 74 65 75 72 29 20  KEY (id_auteur) 
14f0: 52 45 46 45 52 45 4e 43 45 53 20 6d 65 6d 62 72  REFERENCES membr
1500: 65 73 20 28 69 64 29 20 20 2d 2d 20 43 6c c3 a9  es (id)  -- Cl..
1510: 20 65 78 74 65 72 6e 65 20 6e 6f 6e 2d 6f 62 6c   externe non-obl
1520: 69 67 61 74 6f 69 72 65 20 28 70 65 75 74 20 c3  igatoire (peut .
1530: aa 74 72 65 20 73 75 70 70 72 69 6d c3 a9 65 20  .tre supprim..e 
1540: 61 70 72 c3 a8 73 20 65 6e 20 63 61 73 20 64 65  apr..s en cas de
1550: 20 73 75 70 70 72 65 73 73 69 6f 6e 20 64 65 20   suppression de 
1560: 6d 65 6d 62 72 65 29 0a 29 3b 0a 0a 43 52 45 41  membre).);..CREA
1570: 54 45 20 49 4e 44 45 58 20 49 46 20 4e 4f 54 20  TE INDEX IF NOT 
1580: 45 58 49 53 54 53 20 77 69 6b 69 5f 72 65 76 69  EXISTS wiki_revi
1590: 73 69 6f 6e 73 5f 69 64 5f 70 61 67 65 20 4f 4e  sions_id_page ON
15a0: 20 77 69 6b 69 5f 72 65 76 69 73 69 6f 6e 73 20   wiki_revisions 
15b0: 28 69 64 5f 70 61 67 65 29 3b 0a 43 52 45 41 54  (id_page);.CREAT
15c0: 45 20 49 4e 44 45 58 20 49 46 20 4e 4f 54 20 45  E INDEX IF NOT E
15d0: 58 49 53 54 53 20 77 69 6b 69 5f 72 65 76 69 73  XISTS wiki_revis
15e0: 69 6f 6e 73 5f 69 64 5f 61 75 74 65 75 72 20 4f  ions_id_auteur O
15f0: 4e 20 77 69 6b 69 5f 72 65 76 69 73 69 6f 6e 73  N wiki_revisions
1600: 20 28 69 64 5f 61 75 74 65 75 72 29 3b 0a 0a 2d   (id_auteur);..-
1610: 2d 20 54 72 69 67 67 65 72 73 20 70 6f 75 72 20  - Triggers pour 
1620: 73 79 6e 63 68 72 6f 20 61 76 65 63 20 74 61 62  synchro avec tab
1630: 6c 65 20 77 69 6b 69 5f 70 61 67 65 73 0a 43 52  le wiki_pages.CR
1640: 45 41 54 45 20 54 52 49 47 47 45 52 20 49 46 20  EATE TRIGGER IF 
1650: 4e 4f 54 20 45 58 49 53 54 53 20 77 69 6b 69 5f  NOT EXISTS wiki_
1660: 72 65 63 68 65 72 63 68 65 5f 64 65 6c 65 74 65  recherche_delete
1670: 20 41 46 54 45 52 20 44 45 4c 45 54 45 20 4f 4e   AFTER DELETE ON
1680: 20 77 69 6b 69 5f 70 61 67 65 73 0a 20 20 20 20   wiki_pages.    
1690: 42 45 47 49 4e 0a 20 20 20 20 20 20 20 20 44 45  BEGIN.        DE
16a0: 4c 45 54 45 20 46 52 4f 4d 20 77 69 6b 69 5f 72  LETE FROM wiki_r
16b0: 65 63 68 65 72 63 68 65 20 57 48 45 52 45 20 69  echerche WHERE i
16c0: 64 20 3d 20 6f 6c 64 2e 69 64 3b 0a 20 20 20 20  d = old.id;.    
16d0: 45 4e 44 3b 0a 0a 43 52 45 41 54 45 20 54 52 49  END;..CREATE TRI
16e0: 47 47 45 52 20 49 46 20 4e 4f 54 20 45 58 49 53  GGER IF NOT EXIS
16f0: 54 53 20 77 69 6b 69 5f 72 65 63 68 65 72 63 68  TS wiki_recherch
1700: 65 5f 75 70 64 61 74 65 20 41 46 54 45 52 20 55  e_update AFTER U
1710: 50 44 41 54 45 20 4f 46 20 69 64 2c 20 74 69 74  PDATE OF id, tit
1720: 72 65 20 4f 4e 20 77 69 6b 69 5f 70 61 67 65 73  re ON wiki_pages
1730: 0a 20 20 20 20 42 45 47 49 4e 0a 20 20 20 20 20  .    BEGIN.     
1740: 20 20 20 55 50 44 41 54 45 20 77 69 6b 69 5f 72     UPDATE wiki_r
1750: 65 63 68 65 72 63 68 65 20 53 45 54 20 69 64 20  echerche SET id 
1760: 3d 20 6e 65 77 2e 69 64 2c 20 74 69 74 72 65 20  = new.id, titre 
1770: 3d 20 6e 65 77 2e 74 69 74 72 65 20 57 48 45 52  = new.titre WHER
1780: 45 20 69 64 20 3d 20 6f 6c 64 2e 69 64 3b 0a 20  E id = old.id;. 
1790: 20 20 20 45 4e 44 3b 0a 0a 2d 2d 20 54 72 69 67     END;..-- Trig
17a0: 67 65 72 20 70 6f 75 72 20 6d 65 74 74 72 65 20  ger pour mettre 
17b0: c3 a0 20 6a 6f 75 72 20 6c 65 20 63 6f 6e 74 65  .. jour le conte
17c0: 6e 75 20 64 65 20 6c 61 20 74 61 62 6c 65 20 64  nu de la table d
17d0: 65 20 72 65 63 68 65 72 63 68 65 20 6c 6f 72 73  e recherche lors
17e0: 20 64 27 75 6e 65 20 6e 6f 75 76 65 6c 6c 65 20   d'une nouvelle 
17f0: 72 c3 a9 76 69 73 69 6f 6e 0a 43 52 45 41 54 45  r..vision.CREATE
1800: 20 54 52 49 47 47 45 52 20 49 46 20 4e 4f 54 20   TRIGGER IF NOT 
1810: 45 58 49 53 54 53 20 77 69 6b 69 5f 72 65 63 68  EXISTS wiki_rech
1820: 65 72 63 68 65 5f 63 6f 6e 74 65 6e 75 5f 69 6e  erche_contenu_in
1830: 73 65 72 74 20 41 46 54 45 52 20 49 4e 53 45 52  sert AFTER INSER
1840: 54 20 4f 4e 20 77 69 6b 69 5f 72 65 76 69 73 69  T ON wiki_revisi
1850: 6f 6e 73 20 57 48 45 4e 20 6e 65 77 2e 63 68 69  ons WHEN new.chi
1860: 66 66 72 65 6d 65 6e 74 20 21 3d 20 31 0a 20 20  ffrement != 1.  
1870: 20 20 42 45 47 49 4e 0a 20 20 20 20 20 20 20 20    BEGIN.        
1880: 55 50 44 41 54 45 20 77 69 6b 69 5f 72 65 63 68  UPDATE wiki_rech
1890: 65 72 63 68 65 20 53 45 54 20 63 6f 6e 74 65 6e  erche SET conten
18a0: 75 20 3d 20 6e 65 77 2e 63 6f 6e 74 65 6e 75 20  u = new.contenu 
18b0: 57 48 45 52 45 20 69 64 20 3d 20 6e 65 77 2e 69  WHERE id = new.i
18c0: 64 5f 70 61 67 65 3b 0a 20 20 20 20 45 4e 44 3b  d_page;.    END;
18d0: 0a 0a 2d 2d 20 53 69 20 6c 65 20 63 6f 6e 74 65  ..-- Si le conte
18e0: 6e 75 20 65 73 74 20 63 68 69 66 66 72 c3 a9 2c  nu est chiffr..,
18f0: 20 6c 61 20 72 65 63 68 65 72 63 68 65 20 6e 27   la recherche n'
1900: 61 66 66 69 63 68 65 20 70 61 73 20 64 65 20 63  affiche pas de c
1910: 6f 6e 74 65 6e 75 0a 43 52 45 41 54 45 20 54 52  ontenu.CREATE TR
1920: 49 47 47 45 52 20 49 46 20 4e 4f 54 20 45 58 49  IGGER IF NOT EXI
1930: 53 54 53 20 77 69 6b 69 5f 72 65 63 68 65 72 63  STS wiki_recherc
1940: 68 65 5f 63 6f 6e 74 65 6e 75 5f 63 68 69 66 66  he_contenu_chiff
1950: 72 65 20 41 46 54 45 52 20 49 4e 53 45 52 54 20  re AFTER INSERT 
1960: 4f 4e 20 77 69 6b 69 5f 72 65 76 69 73 69 6f 6e  ON wiki_revision
1970: 73 20 57 48 45 4e 20 6e 65 77 2e 63 68 69 66 66  s WHEN new.chiff
1980: 72 65 6d 65 6e 74 20 3d 20 31 0a 20 20 20 20 42  rement = 1.    B
1990: 45 47 49 4e 0a 20 20 20 20 20 20 20 20 55 50 44  EGIN.        UPD
19a0: 41 54 45 20 77 69 6b 69 5f 72 65 63 68 65 72 63  ATE wiki_recherc
19b0: 68 65 20 53 45 54 20 63 6f 6e 74 65 6e 75 20 3d  he SET contenu =
19c0: 20 27 27 20 57 48 45 52 45 20 69 64 20 3d 20 6e   '' WHERE id = n
19d0: 65 77 2e 69 64 5f 70 61 67 65 3b 0a 20 20 20 20  ew.id_page;.    
19e0: 45 4e 44 3b 0a 0a 2f 2a 0a 43 52 45 41 54 45 20  END;../*.CREATE 
19f0: 54 41 42 4c 45 20 77 69 6b 69 5f 73 75 69 76 69  TABLE wiki_suivi
1a00: 0a 2d 2d 20 53 75 69 76 69 20 64 65 73 20 70 61  .-- Suivi des pa
1a10: 67 65 73 0a 28 0a 20 20 20 20 69 64 5f 6d 65 6d  ges.(.    id_mem
1a20: 62 72 65 20 49 4e 54 45 47 45 52 20 4e 4f 54 20  bre INTEGER NOT 
1a30: 4e 55 4c 4c 2c 0a 20 20 20 20 69 64 5f 70 61 67  NULL,.    id_pag
1a40: 65 20 49 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55  e INTEGER NOT NU
1a50: 4c 4c 2c 0a 0a 20 20 20 20 50 52 49 4d 41 52 59  LL,..    PRIMARY
1a60: 20 4b 45 59 20 28 69 64 5f 6d 65 6d 62 72 65 2c   KEY (id_membre,
1a70: 20 69 64 5f 70 61 67 65 29 2c 0a 0a 20 20 20 20   id_page),..    
1a80: 46 4f 52 45 49 47 4e 20 4b 45 59 20 28 69 64 5f  FOREIGN KEY (id_
1a90: 70 61 67 65 29 20 52 45 46 45 52 45 4e 43 45 53  page) REFERENCES
1aa0: 20 77 69 6b 69 5f 70 61 67 65 73 20 28 69 64 29   wiki_pages (id)
1ab0: 2c 20 2d 2d 20 43 6c c3 a9 20 65 78 74 65 72 6e  , -- Cl.. extern
1ac0: 65 20 6f 62 6c 69 67 61 74 6f 69 72 65 0a 20 20  e obligatoire.  
1ad0: 20 20 46 4f 52 45 49 47 4e 20 4b 45 59 20 28 69    FOREIGN KEY (i
1ae0: 64 5f 6d 65 6d 62 72 65 29 20 52 45 46 45 52 45  d_membre) REFERE
1af0: 4e 43 45 53 20 6d 65 6d 62 72 65 73 20 28 69 64  NCES membres (id
1b00: 29 20 2d 2d 20 43 6c c3 a9 20 65 78 74 65 72 6e  ) -- Cl.. extern
1b10: 65 20 6f 62 6c 69 67 61 74 6f 69 72 65 0a 29 3b  e obligatoire.);
1b20: 0a 2a 2f 0a 0a 2d 2d 0a 2d 2d 20 43 4f 4d 50 54  .*/..--.-- COMPT
1b30: 41 0a 2d 2d 0a 0a 43 52 45 41 54 45 20 54 41 42  A.--..CREATE TAB
1b40: 4c 45 20 49 46 20 4e 4f 54 20 45 58 49 53 54 53  LE IF NOT EXISTS
1b50: 20 63 6f 6d 70 74 61 5f 65 78 65 72 63 69 63 65   compta_exercice
1b60: 73 0a 2d 2d 20 45 78 65 72 63 69 63 65 73 0a 28  s.-- Exercices.(
1b70: 0a 20 20 20 20 69 64 20 49 4e 54 45 47 45 52 20  .    id INTEGER 
1b80: 4e 4f 54 20 4e 55 4c 4c 20 50 52 49 4d 41 52 59  NOT NULL PRIMARY
1b90: 20 4b 45 59 2c 0a 0a 20 20 20 20 6c 69 62 65 6c   KEY,..    libel
1ba0: 6c 65 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c 4c  le TEXT NOT NULL
1bb0: 2c 0a 0a 20 20 20 20 64 65 62 75 74 20 54 45 58  ,..    debut TEX
1bc0: 54 20 4e 4f 54 20 4e 55 4c 4c 20 44 45 46 41 55  T NOT NULL DEFAU
1bd0: 4c 54 20 43 55 52 52 45 4e 54 5f 44 41 54 45 20  LT CURRENT_DATE 
1be0: 43 48 45 43 4b 20 28 64 61 74 65 28 64 65 62 75  CHECK (date(debu
1bf0: 74 29 20 49 53 20 4e 4f 54 20 4e 55 4c 4c 20 41  t) IS NOT NULL A
1c00: 4e 44 20 64 61 74 65 28 64 65 62 75 74 29 20 3d  ND date(debut) =
1c10: 20 64 65 62 75 74 29 2c 0a 20 20 20 20 66 69 6e   debut),.    fin
1c20: 20 54 45 58 54 20 4e 55 4c 4c 20 44 45 46 41 55   TEXT NULL DEFAU
1c30: 4c 54 20 4e 55 4c 4c 20 43 48 45 43 4b 20 28 66  LT NULL CHECK (f
1c40: 69 6e 20 49 53 20 4e 55 4c 4c 20 4f 52 20 28 64  in IS NULL OR (d
1c50: 61 74 65 28 66 69 6e 29 20 49 53 20 4e 4f 54 20  ate(fin) IS NOT 
1c60: 4e 55 4c 4c 20 41 4e 44 20 64 61 74 65 28 66 69  NULL AND date(fi
1c70: 6e 29 20 3d 20 66 69 6e 29 29 2c 0a 0a 20 20 20  n) = fin)),..   
1c80: 20 63 6c 6f 74 75 72 65 20 49 4e 54 45 47 45 52   cloture INTEGER
1c90: 20 4e 4f 54 20 4e 55 4c 4c 20 44 45 46 41 55 4c   NOT NULL DEFAUL
1ca0: 54 20 30 0a 29 3b 0a 0a 0a 43 52 45 41 54 45 20  T 0.);...CREATE 
1cb0: 54 41 42 4c 45 20 49 46 20 4e 4f 54 20 45 58 49  TABLE IF NOT EXI
1cc0: 53 54 53 20 63 6f 6d 70 74 61 5f 63 6f 6d 70 74  STS compta_compt
1cd0: 65 73 0a 2d 2d 20 50 6c 61 6e 20 63 6f 6d 70 74  es.-- Plan compt
1ce0: 61 62 6c 65 0a 28 0a 20 20 20 20 69 64 20 54 45  able.(.    id TE
1cf0: 58 54 20 4e 4f 54 20 4e 55 4c 4c 20 50 52 49 4d  XT NOT NULL PRIM
1d00: 41 52 59 20 4b 45 59 2c 20 2d 2d 20 70 65 75 74  ARY KEY, -- peut
1d10: 20 63 6f 6e 74 65 6e 69 72 20 64 65 73 20 6c 65   contenir des le
1d20: 74 74 72 65 73 2c 20 65 67 2e 20 35 33 41 2c 20  ttres, eg. 53A, 
1d30: 35 33 42 2c 20 65 74 63 2e 0a 20 20 20 20 70 61  53B, etc..    pa
1d40: 72 65 6e 74 20 54 45 58 54 20 4e 4f 54 20 4e 55  rent TEXT NOT NU
1d50: 4c 4c 20 44 45 46 41 55 4c 54 20 30 2c 0a 0a 20  LL DEFAULT 0,.. 
1d60: 20 20 20 6c 69 62 65 6c 6c 65 20 54 45 58 54 20     libelle TEXT 
1d70: 4e 4f 54 20 4e 55 4c 4c 2c 0a 0a 20 20 20 20 70  NOT NULL,..    p
1d80: 6f 73 69 74 69 6f 6e 20 49 4e 54 45 47 45 52 20  osition INTEGER 
1d90: 4e 4f 54 20 4e 55 4c 4c 2c 20 2d 2d 20 70 6f 73  NOT NULL, -- pos
1da0: 69 74 69 6f 6e 20 61 63 74 69 66 2f 70 61 73 73  ition actif/pass
1db0: 69 66 2f 63 68 61 72 67 65 2f 70 72 6f 64 75 69  if/charge/produi
1dc0: 74 0a 20 20 20 20 70 6c 61 6e 5f 63 6f 6d 70 74  t.    plan_compt
1dd0: 61 62 6c 65 20 49 4e 54 45 47 45 52 20 4e 4f 54  able INTEGER NOT
1de0: 20 4e 55 4c 4c 20 44 45 46 41 55 4c 54 20 31 2c   NULL DEFAULT 1,
1df0: 20 2d 2d 20 31 20 3d 20 66 61 69 74 20 70 61 72   -- 1 = fait par
1e00: 74 69 65 20 64 75 20 70 6c 61 6e 20 63 6f 6d 70  tie du plan comp
1e10: 74 61 62 6c 65 2c 20 30 20 3d 20 61 20 c3 a9 74  table, 0 = a ..t
1e20: c3 a9 20 61 6a 6f 75 74 c3 a9 20 70 61 72 20 6c  .. ajout.. par l
1e30: 27 75 74 69 6c 69 73 61 74 65 75 72 0a 20 20 20  'utilisateur.   
1e40: 20 64 65 73 61 63 74 69 76 65 20 49 4e 54 45 47   desactive INTEG
1e50: 45 52 20 4e 4f 54 20 4e 55 4c 4c 20 44 45 46 41  ER NOT NULL DEFA
1e60: 55 4c 54 20 30 20 2d 2d 20 31 20 3d 20 63 6f 6d  ULT 0 -- 1 = com
1e70: 70 74 65 20 68 69 73 74 6f 72 69 71 75 65 20 64  pte historique d
1e80: c3 a9 73 61 63 74 69 76 c3 a9 0a 29 3b 0a 0a 43  ..sactiv...);..C
1e90: 52 45 41 54 45 20 49 4e 44 45 58 20 49 46 20 4e  REATE INDEX IF N
1ea0: 4f 54 20 45 58 49 53 54 53 20 63 6f 6d 70 74 61  OT EXISTS compta
1eb0: 5f 63 6f 6d 70 74 65 73 5f 70 61 72 65 6e 74 20  _comptes_parent 
1ec0: 4f 4e 20 63 6f 6d 70 74 61 5f 63 6f 6d 70 74 65  ON compta_compte
1ed0: 73 20 28 70 61 72 65 6e 74 29 3b 0a 0a 43 52 45  s (parent);..CRE
1ee0: 41 54 45 20 54 41 42 4c 45 20 49 46 20 4e 4f 54  ATE TABLE IF NOT
1ef0: 20 45 58 49 53 54 53 20 63 6f 6d 70 74 61 5f 63   EXISTS compta_c
1f00: 6f 6d 70 74 65 73 5f 62 61 6e 63 61 69 72 65 73  omptes_bancaires
1f10: 0a 2d 2d 20 43 6f 6d 70 74 65 73 20 62 61 6e 63  .-- Comptes banc
1f20: 61 69 72 65 73 0a 28 0a 20 20 20 20 69 64 20 54  aires.(.    id T
1f30: 45 58 54 20 4e 4f 54 20 4e 55 4c 4c 20 50 52 49  EXT NOT NULL PRI
1f40: 4d 41 52 59 20 4b 45 59 2c 0a 0a 20 20 20 20 62  MARY KEY,..    b
1f50: 61 6e 71 75 65 20 54 45 58 54 20 4e 4f 54 20 4e  anque TEXT NOT N
1f60: 55 4c 4c 2c 0a 0a 20 20 20 20 69 62 61 6e 20 54  ULL,..    iban T
1f70: 45 58 54 20 4e 55 4c 4c 2c 0a 20 20 20 20 62 69  EXT NULL,.    bi
1f80: 63 20 54 45 58 54 20 4e 55 4c 4c 2c 0a 0a 20 20  c TEXT NULL,..  
1f90: 20 20 46 4f 52 45 49 47 4e 20 4b 45 59 28 69 64    FOREIGN KEY(id
1fa0: 29 20 52 45 46 45 52 45 4e 43 45 53 20 63 6f 6d  ) REFERENCES com
1fb0: 70 74 61 5f 63 6f 6d 70 74 65 73 28 69 64 29 0a  pta_comptes(id).
1fc0: 29 3b 0a 0a 43 52 45 41 54 45 20 54 41 42 4c 45  );..CREATE TABLE
1fd0: 20 49 46 20 4e 4f 54 20 45 58 49 53 54 53 20 63   IF NOT EXISTS c
1fe0: 6f 6d 70 74 61 5f 6a 6f 75 72 6e 61 6c 0a 2d 2d  ompta_journal.--
1ff0: 20 4a 6f 75 72 6e 61 6c 20 64 65 73 20 6f 70 c3   Journal des op.
2000: a9 72 61 74 69 6f 6e 73 20 63 6f 6d 70 74 61 62  .rations comptab
2010: 6c 65 73 0a 28 0a 20 20 20 20 69 64 20 49 4e 54  les.(.    id INT
2020: 45 47 45 52 20 50 52 49 4d 41 52 59 20 4b 45 59  EGER PRIMARY KEY
2030: 2c 0a 0a 20 20 20 20 6c 69 62 65 6c 6c 65 20 54  ,..    libelle T
2040: 45 58 54 20 4e 4f 54 20 4e 55 4c 4c 2c 0a 20 20  EXT NOT NULL,.  
2050: 20 20 72 65 6d 61 72 71 75 65 73 20 54 45 58 54    remarques TEXT
2060: 20 4e 55 4c 4c 2c 0a 20 20 20 20 6e 75 6d 65 72   NULL,.    numer
2070: 6f 5f 70 69 65 63 65 20 54 45 58 54 20 4e 55 4c  o_piece TEXT NUL
2080: 4c 2c 20 2d 2d 20 4e c2 b0 20 64 65 20 70 69 c3  L, -- N.. de pi.
2090: a8 63 65 20 63 6f 6d 70 74 61 62 6c 65 0a 0a 20  .ce comptable.. 
20a0: 20 20 20 6d 6f 6e 74 61 6e 74 20 52 45 41 4c 20     montant REAL 
20b0: 4e 4f 54 20 4e 55 4c 4c 2c 0a 0a 20 20 20 20 64  NOT NULL,..    d
20c0: 61 74 65 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c  ate TEXT NOT NUL
20d0: 4c 20 44 45 46 41 55 4c 54 20 43 55 52 52 45 4e  L DEFAULT CURREN
20e0: 54 5f 44 41 54 45 20 43 48 45 43 4b 20 28 64 61  T_DATE CHECK (da
20f0: 74 65 28 64 61 74 65 29 20 49 53 20 4e 4f 54 20  te(date) IS NOT 
2100: 4e 55 4c 4c 20 41 4e 44 20 64 61 74 65 28 64 61  NULL AND date(da
2110: 74 65 29 20 3d 20 64 61 74 65 29 2c 0a 20 20 20  te) = date),.   
2120: 20 6d 6f 79 65 6e 5f 70 61 69 65 6d 65 6e 74 20   moyen_paiement 
2130: 54 45 58 54 20 4e 55 4c 4c 2c 0a 20 20 20 20 6e  TEXT NULL,.    n
2140: 75 6d 65 72 6f 5f 63 68 65 71 75 65 20 54 45 58  umero_cheque TEX
2150: 54 20 4e 55 4c 4c 2c 0a 0a 20 20 20 20 63 6f 6d  T NULL,..    com
2160: 70 74 65 5f 64 65 62 69 74 20 54 45 58 54 20 4e  pte_debit TEXT N
2170: 55 4c 4c 2c 20 2d 2d 20 4e c2 b0 20 64 75 20 63  ULL, -- N.. du c
2180: 6f 6d 70 74 65 20 64 61 6e 73 20 6c 65 20 70 6c  ompte dans le pl
2190: 61 6e 2c 20 4e 55 4c 4c 20 65 73 74 20 75 74 69  an, NULL est uti
21a0: 6c 69 73 c3 a9 20 70 6f 75 72 20 75 6e 65 20 6f  lis.. pour une o
21b0: 70 c3 a9 72 61 74 69 6f 6e 20 71 75 69 20 76 69  p..ration qui vi
21c0: 65 6e 74 20 64 27 75 6e 20 65 78 65 72 63 69 63  ent d'un exercic
21d0: 65 20 70 72 c3 a9 63 c3 a9 64 65 6e 74 0a 20 20  e pr..c..dent.  
21e0: 20 20 63 6f 6d 70 74 65 5f 63 72 65 64 69 74 20    compte_credit 
21f0: 54 45 58 54 20 4e 55 4c 4c 2c 20 2d 2d 20 4e c2  TEXT NULL, -- N.
2200: b0 20 64 75 20 63 6f 6d 70 74 65 20 64 61 6e 73  . du compte dans
2210: 20 6c 65 20 70 6c 61 6e 0a 0a 20 20 20 20 69 64   le plan..    id
2220: 5f 65 78 65 72 63 69 63 65 20 49 4e 54 45 47 45  _exercice INTEGE
2230: 52 20 4e 55 4c 4c 20 44 45 46 41 55 4c 54 20 4e  R NULL DEFAULT N
2240: 55 4c 4c 2c 20 2d 2d 20 45 6e 20 63 61 73 20 64  ULL, -- En cas d
2250: 65 20 63 6f 6d 70 74 61 20 73 69 6d 70 6c 65 2c  e compta simple,
2260: 20 6c 27 65 78 65 72 63 69 63 65 20 65 73 74 20   l'exercice est 
2270: 70 65 72 6d 61 6e 65 6e 74 20 28 4e 55 4c 4c 29  permanent (NULL)
2280: 0a 20 20 20 20 69 64 5f 61 75 74 65 75 72 20 49  .    id_auteur I
2290: 4e 54 45 47 45 52 20 4e 55 4c 4c 2c 0a 20 20 20  NTEGER NULL,.   
22a0: 20 69 64 5f 63 61 74 65 67 6f 72 69 65 20 49 4e   id_categorie IN
22b0: 54 45 47 45 52 20 4e 55 4c 4c 2c 20 2d 2d 20 4e  TEGER NULL, -- N
22c0: 75 6d c3 a9 72 6f 20 64 65 20 63 61 74 c3 a9 67  um..ro de cat..g
22d0: 6f 72 69 65 20 28 65 6e 20 6d 6f 64 65 20 73 69  orie (en mode si
22e0: 6d 70 6c 65 29 0a 0a 20 20 20 20 46 4f 52 45 49  mple)..    FOREI
22f0: 47 4e 20 4b 45 59 28 6d 6f 79 65 6e 5f 70 61 69  GN KEY(moyen_pai
2300: 65 6d 65 6e 74 29 20 52 45 46 45 52 45 4e 43 45  ement) REFERENCE
2310: 53 20 63 6f 6d 70 74 61 5f 6d 6f 79 65 6e 73 5f  S compta_moyens_
2320: 70 61 69 65 6d 65 6e 74 28 63 6f 64 65 29 2c 0a  paiement(code),.
2330: 20 20 20 20 46 4f 52 45 49 47 4e 20 4b 45 59 28      FOREIGN KEY(
2340: 63 6f 6d 70 74 65 5f 64 65 62 69 74 29 20 52 45  compte_debit) RE
2350: 46 45 52 45 4e 43 45 53 20 63 6f 6d 70 74 61 5f  FERENCES compta_
2360: 63 6f 6d 70 74 65 73 28 69 64 29 2c 0a 20 20 20  comptes(id),.   
2370: 20 46 4f 52 45 49 47 4e 20 4b 45 59 28 63 6f 6d   FOREIGN KEY(com
2380: 70 74 65 5f 63 72 65 64 69 74 29 20 52 45 46 45  pte_credit) REFE
2390: 52 45 4e 43 45 53 20 63 6f 6d 70 74 61 5f 63 6f  RENCES compta_co
23a0: 6d 70 74 65 73 28 69 64 29 2c 0a 20 20 20 20 46  mptes(id),.    F
23b0: 4f 52 45 49 47 4e 20 4b 45 59 28 69 64 5f 65 78  OREIGN KEY(id_ex
23c0: 65 72 63 69 63 65 29 20 52 45 46 45 52 45 4e 43  ercice) REFERENC
23d0: 45 53 20 63 6f 6d 70 74 61 5f 65 78 65 72 63 69  ES compta_exerci
23e0: 63 65 73 28 69 64 29 2c 0a 20 20 20 20 46 4f 52  ces(id),.    FOR
23f0: 45 49 47 4e 20 4b 45 59 28 69 64 5f 61 75 74 65  EIGN KEY(id_aute
2400: 75 72 29 20 52 45 46 45 52 45 4e 43 45 53 20 6d  ur) REFERENCES m
2410: 65 6d 62 72 65 73 28 69 64 29 2c 0a 20 20 20 20  embres(id),.    
2420: 46 4f 52 45 49 47 4e 20 4b 45 59 28 69 64 5f 63  FOREIGN KEY(id_c
2430: 61 74 65 67 6f 72 69 65 29 20 52 45 46 45 52 45  ategorie) REFERE
2440: 4e 43 45 53 20 63 6f 6d 70 74 61 5f 63 61 74 65  NCES compta_cate
2450: 67 6f 72 69 65 73 28 69 64 29 0a 29 3b 0a 0a 43  gories(id).);..C
2460: 52 45 41 54 45 20 49 4e 44 45 58 20 49 46 20 4e  REATE INDEX IF N
2470: 4f 54 20 45 58 49 53 54 53 20 63 6f 6d 70 74 61  OT EXISTS compta
2480: 5f 6f 70 65 72 61 74 69 6f 6e 73 5f 65 78 65 72  _operations_exer
2490: 63 69 63 65 20 4f 4e 20 63 6f 6d 70 74 61 5f 6a  cice ON compta_j
24a0: 6f 75 72 6e 61 6c 20 28 69 64 5f 65 78 65 72 63  ournal (id_exerc
24b0: 69 63 65 29 3b 0a 43 52 45 41 54 45 20 49 4e 44  ice);.CREATE IND
24c0: 45 58 20 49 46 20 4e 4f 54 20 45 58 49 53 54 53  EX IF NOT EXISTS
24d0: 20 63 6f 6d 70 74 61 5f 6f 70 65 72 61 74 69 6f   compta_operatio
24e0: 6e 73 5f 64 61 74 65 20 4f 4e 20 63 6f 6d 70 74  ns_date ON compt
24f0: 61 5f 6a 6f 75 72 6e 61 6c 20 28 64 61 74 65 29  a_journal (date)
2500: 3b 0a 43 52 45 41 54 45 20 49 4e 44 45 58 20 49  ;.CREATE INDEX I
2510: 46 20 4e 4f 54 20 45 58 49 53 54 53 20 63 6f 6d  F NOT EXISTS com
2520: 70 74 61 5f 6f 70 65 72 61 74 69 6f 6e 73 5f 63  pta_operations_c
2530: 6f 6d 70 74 65 73 20 4f 4e 20 63 6f 6d 70 74 61  omptes ON compta
2540: 5f 6a 6f 75 72 6e 61 6c 20 28 63 6f 6d 70 74 65  _journal (compte
2550: 5f 64 65 62 69 74 2c 20 63 6f 6d 70 74 65 5f 63  _debit, compte_c
2560: 72 65 64 69 74 29 3b 0a 43 52 45 41 54 45 20 49  redit);.CREATE I
2570: 4e 44 45 58 20 49 46 20 4e 4f 54 20 45 58 49 53  NDEX IF NOT EXIS
2580: 54 53 20 63 6f 6d 70 74 61 5f 6f 70 65 72 61 74  TS compta_operat
2590: 69 6f 6e 73 5f 61 75 74 65 75 72 20 4f 4e 20 63  ions_auteur ON c
25a0: 6f 6d 70 74 61 5f 6a 6f 75 72 6e 61 6c 20 28 69  ompta_journal (i
25b0: 64 5f 61 75 74 65 75 72 29 3b 0a 0a 43 52 45 41  d_auteur);..CREA
25c0: 54 45 20 54 41 42 4c 45 20 49 46 20 4e 4f 54 20  TE TABLE IF NOT 
25d0: 45 58 49 53 54 53 20 63 6f 6d 70 74 61 5f 6d 6f  EXISTS compta_mo
25e0: 79 65 6e 73 5f 70 61 69 65 6d 65 6e 74 0a 2d 2d  yens_paiement.--
25f0: 20 4d 6f 79 65 6e 73 20 64 65 20 70 61 69 65 6d   Moyens de paiem
2600: 65 6e 74 0a 28 0a 20 20 20 20 63 6f 64 65 20 54  ent.(.    code T
2610: 45 58 54 20 4e 4f 54 20 4e 55 4c 4c 20 50 52 49  EXT NOT NULL PRI
2620: 4d 41 52 59 20 4b 45 59 2c 0a 20 20 20 20 6e 6f  MARY KEY,.    no
2630: 6d 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c 4c 0a  m TEXT NOT NULL.
2640: 29 3b 0a 0a 2d 2d 49 4e 53 45 52 54 20 49 4e 54  );..--INSERT INT
2650: 4f 20 63 6f 6d 70 74 61 5f 6d 6f 79 65 6e 73 5f  O compta_moyens_
2660: 70 61 69 65 6d 65 6e 74 20 28 63 6f 64 65 2c 20  paiement (code, 
2670: 6e 6f 6d 29 20 56 41 4c 55 45 53 20 28 27 41 55  nom) VALUES ('AU
2680: 27 2c 20 27 41 75 74 72 65 27 29 3b 0a 49 4e 53  ', 'Autre');.INS
2690: 45 52 54 20 4f 52 20 49 47 4e 4f 52 45 20 49 4e  ERT OR IGNORE IN
26a0: 54 4f 20 63 6f 6d 70 74 61 5f 6d 6f 79 65 6e 73  TO compta_moyens
26b0: 5f 70 61 69 65 6d 65 6e 74 20 28 63 6f 64 65 2c  _paiement (code,
26c0: 20 6e 6f 6d 29 20 56 41 4c 55 45 53 20 28 27 43   nom) VALUES ('C
26d0: 42 27 2c 20 27 43 61 72 74 65 20 62 6c 65 75 65  B', 'Carte bleue
26e0: 27 29 3b 0a 49 4e 53 45 52 54 20 4f 52 20 49 47  ');.INSERT OR IG
26f0: 4e 4f 52 45 20 49 4e 54 4f 20 63 6f 6d 70 74 61  NORE INTO compta
2700: 5f 6d 6f 79 65 6e 73 5f 70 61 69 65 6d 65 6e 74  _moyens_paiement
2710: 20 28 63 6f 64 65 2c 20 6e 6f 6d 29 20 56 41 4c   (code, nom) VAL
2720: 55 45 53 20 28 27 43 48 27 2c 20 27 43 68 c3 a8  UES ('CH', 'Ch..
2730: 71 75 65 27 29 3b 0a 49 4e 53 45 52 54 20 4f 52  que');.INSERT OR
2740: 20 49 47 4e 4f 52 45 20 49 4e 54 4f 20 63 6f 6d   IGNORE INTO com
2750: 70 74 61 5f 6d 6f 79 65 6e 73 5f 70 61 69 65 6d  pta_moyens_paiem
2760: 65 6e 74 20 28 63 6f 64 65 2c 20 6e 6f 6d 29 20  ent (code, nom) 
2770: 56 41 4c 55 45 53 20 28 27 45 53 27 2c 20 27 45  VALUES ('ES', 'E
2780: 73 70 c3 a8 63 65 73 27 29 3b 0a 49 4e 53 45 52  sp..ces');.INSER
2790: 54 20 4f 52 20 49 47 4e 4f 52 45 20 49 4e 54 4f  T OR IGNORE INTO
27a0: 20 63 6f 6d 70 74 61 5f 6d 6f 79 65 6e 73 5f 70   compta_moyens_p
27b0: 61 69 65 6d 65 6e 74 20 28 63 6f 64 65 2c 20 6e  aiement (code, n
27c0: 6f 6d 29 20 56 41 4c 55 45 53 20 28 27 50 52 27  om) VALUES ('PR'
27d0: 2c 20 27 50 72 c3 a9 6c c3 a8 76 65 6d 65 6e 74  , 'Pr..l..vement
27e0: 27 29 3b 0a 49 4e 53 45 52 54 20 4f 52 20 49 47  ');.INSERT OR IG
27f0: 4e 4f 52 45 20 49 4e 54 4f 20 63 6f 6d 70 74 61  NORE INTO compta
2800: 5f 6d 6f 79 65 6e 73 5f 70 61 69 65 6d 65 6e 74  _moyens_paiement
2810: 20 28 63 6f 64 65 2c 20 6e 6f 6d 29 20 56 41 4c   (code, nom) VAL
2820: 55 45 53 20 28 27 54 49 27 2c 20 27 54 49 50 27  UES ('TI', 'TIP'
2830: 29 3b 0a 49 4e 53 45 52 54 20 4f 52 20 49 47 4e  );.INSERT OR IGN
2840: 4f 52 45 20 49 4e 54 4f 20 63 6f 6d 70 74 61 5f  ORE INTO compta_
2850: 6d 6f 79 65 6e 73 5f 70 61 69 65 6d 65 6e 74 20  moyens_paiement 
2860: 28 63 6f 64 65 2c 20 6e 6f 6d 29 20 56 41 4c 55  (code, nom) VALU
2870: 45 53 20 28 27 56 49 27 2c 20 27 56 69 72 65 6d  ES ('VI', 'Virem
2880: 65 6e 74 27 29 3b 0a 0a 43 52 45 41 54 45 20 54  ent');..CREATE T
2890: 41 42 4c 45 20 49 46 20 4e 4f 54 20 45 58 49 53  ABLE IF NOT EXIS
28a0: 54 53 20 63 6f 6d 70 74 61 5f 63 61 74 65 67 6f  TS compta_catego
28b0: 72 69 65 73 0a 2d 2d 20 43 61 74 c3 a9 67 6f 72  ries.-- Cat..gor
28c0: 69 65 73 20 70 6f 75 72 20 73 69 6d 70 6c 69 66  ies pour simplif
28d0: 69 65 72 20 6c 65 20 70 6c 61 6e 20 63 6f 6d 70  ier le plan comp
28e0: 74 61 62 6c 65 0a 28 0a 20 20 20 20 69 64 20 49  table.(.    id I
28f0: 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55 4c 4c 20  NTEGER NOT NULL 
2900: 50 52 49 4d 41 52 59 20 4b 45 59 2c 0a 20 20 20  PRIMARY KEY,.   
2910: 20 74 79 70 65 20 49 4e 54 45 47 45 52 20 4e 4f   type INTEGER NO
2920: 54 20 4e 55 4c 4c 20 44 45 46 41 55 4c 54 20 31  T NULL DEFAULT 1
2930: 2c 20 2d 2d 20 31 20 3d 20 72 65 63 65 74 74 65  , -- 1 = recette
2940: 2c 20 2d 31 20 3d 20 64 c3 a9 70 65 6e 73 65 2c  , -1 = d..pense,
2950: 20 30 20 3d 20 61 75 74 72 65 20 28 75 74 69 6c   0 = autre (util
2960: 69 73 c3 a9 20 75 6e 69 71 75 65 6d 65 6e 74 20  is.. uniquement 
2970: 70 6f 75 72 20 6c 27 69 6e 74 65 72 66 61 63 65  pour l'interface
2980: 29 0a 0a 20 20 20 20 69 6e 74 69 74 75 6c 65 20  )..    intitule 
2990: 54 45 58 54 20 4e 4f 54 20 4e 55 4c 4c 2c 0a 20  TEXT NOT NULL,. 
29a0: 20 20 20 64 65 73 63 72 69 70 74 69 6f 6e 20 54     description T
29b0: 45 58 54 20 4e 55 4c 4c 2c 0a 0a 20 20 20 20 63  EXT NULL,..    c
29c0: 6f 6d 70 74 65 20 54 45 58 54 20 4e 4f 54 20 4e  ompte TEXT NOT N
29d0: 55 4c 4c 2c 20 2d 2d 20 43 6f 6d 70 74 65 20 61  ULL, -- Compte a
29e0: 66 66 65 63 74 c3 a9 20 70 61 72 20 63 65 74 74  ffect.. par cett
29f0: 65 20 63 61 74 c3 a9 67 6f 72 69 65 0a 0a 20 20  e cat..gorie..  
2a00: 20 20 46 4f 52 45 49 47 4e 20 4b 45 59 28 63 6f    FOREIGN KEY(co
2a10: 6d 70 74 65 29 20 52 45 46 45 52 45 4e 43 45 53  mpte) REFERENCES
2a20: 20 63 6f 6d 70 74 61 5f 63 6f 6d 70 74 65 73 28   compta_comptes(
2a30: 69 64 29 0a 29 3b 0a 0a 43 52 45 41 54 45 20 54  id).);..CREATE T
2a40: 41 42 4c 45 20 49 46 20 4e 4f 54 20 45 58 49 53  ABLE IF NOT EXIS
2a50: 54 53 20 70 6c 75 67 69 6e 73 0a 28 0a 20 20 20  TS plugins.(.   
2a60: 20 69 64 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c   id TEXT NOT NUL
2a70: 4c 20 50 52 49 4d 41 52 59 20 4b 45 59 2c 0a 20  L PRIMARY KEY,. 
2a80: 20 20 20 6f 66 66 69 63 69 65 6c 20 49 4e 54 45     officiel INTE
2a90: 47 45 52 20 4e 4f 54 20 4e 55 4c 4c 20 44 45 46  GER NOT NULL DEF
2aa0: 41 55 4c 54 20 30 2c 0a 20 20 20 20 6e 6f 6d 20  AULT 0,.    nom 
2ab0: 54 45 58 54 20 4e 4f 54 20 4e 55 4c 4c 2c 0a 20  TEXT NOT NULL,. 
2ac0: 20 20 20 64 65 73 63 72 69 70 74 69 6f 6e 20 54     description T
2ad0: 45 58 54 20 4e 55 4c 4c 2c 0a 20 20 20 20 61 75  EXT NULL,.    au
2ae0: 74 65 75 72 20 54 45 58 54 20 4e 55 4c 4c 2c 0a  teur TEXT NULL,.
2af0: 20 20 20 20 75 72 6c 20 54 45 58 54 20 4e 55 4c      url TEXT NUL
2b00: 4c 2c 0a 20 20 20 20 76 65 72 73 69 6f 6e 20 54  L,.    version T
2b10: 45 58 54 20 4e 4f 54 20 4e 55 4c 4c 2c 0a 20 20  EXT NOT NULL,.  
2b20: 20 20 6d 65 6e 75 20 49 4e 54 45 47 45 52 20 4e    menu INTEGER N
2b30: 4f 54 20 4e 55 4c 4c 20 44 45 46 41 55 4c 54 20  OT NULL DEFAULT 
2b40: 30 2c 0a 20 20 20 20 63 6f 6e 66 69 67 20 54 45  0,.    config TE
2b50: 58 54 20 4e 55 4c 4c 0a 29 3b 0a 0a 43 52 45 41  XT NULL.);..CREA
2b60: 54 45 20 54 41 42 4c 45 20 49 46 20 4e 4f 54 20  TE TABLE IF NOT 
2b70: 45 58 49 53 54 53 20 70 6c 75 67 69 6e 73 5f 73  EXISTS plugins_s
2b80: 69 67 6e 61 75 78 0a 2d 2d 20 41 73 73 6f 63 69  ignaux.-- Associ
2b90: 61 74 69 6f 6e 20 65 6e 74 72 65 20 70 6c 75 67  ation entre plug
2ba0: 69 6e 73 20 65 74 20 73 69 67 6e 61 75 78 20 28  ins et signaux (
2bb0: 68 6f 6f 6b 73 29 0a 28 0a 20 20 20 20 73 69 67  hooks).(.    sig
2bc0: 6e 61 6c 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c  nal TEXT NOT NUL
2bd0: 4c 2c 0a 20 20 20 20 70 6c 75 67 69 6e 20 54 45  L,.    plugin TE
2be0: 58 54 20 4e 4f 54 20 4e 55 4c 4c 20 52 45 46 45  XT NOT NULL REFE
2bf0: 52 45 4e 43 45 53 20 70 6c 75 67 69 6e 73 20 28  RENCES plugins (
2c00: 69 64 29 2c 0a 20 20 20 20 63 61 6c 6c 62 61 63  id),.    callbac
2c10: 6b 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c 4c 2c  k TEXT NOT NULL,
2c20: 0a 20 20 20 20 50 52 49 4d 41 52 59 20 4b 45 59  .    PRIMARY KEY
2c30: 20 28 73 69 67 6e 61 6c 2c 20 70 6c 75 67 69 6e   (signal, plugin
2c40: 29 0a 29 3b 0a 0a 43 52 45 41 54 45 20 54 41 42  ).);..CREATE TAB
2c50: 4c 45 20 49 46 20 4e 4f 54 20 45 58 49 53 54 53  LE IF NOT EXISTS
2c60: 20 63 6f 6d 70 74 61 5f 72 61 70 70 72 6f 63 68   compta_rapproch
2c70: 65 6d 65 6e 74 0a 2d 2d 20 52 61 70 70 72 6f 63  ement.-- Rapproc
2c80: 68 65 6d 65 6e 74 20 65 6e 74 72 65 20 63 6f 6d  hement entre com
2c90: 70 74 61 20 65 74 20 72 65 6c 65 76 c3 a9 73 20  pta et relev..s 
2ca0: 64 65 20 63 6f 6d 70 74 65 73 0a 28 0a 20 20 20  de comptes.(.   
2cb0: 20 69 64 5f 6f 70 65 72 61 74 69 6f 6e 20 49 4e   id_operation IN
2cc0: 54 45 47 45 52 20 4e 4f 54 20 4e 55 4c 4c 20 50  TEGER NOT NULL P
2cd0: 52 49 4d 41 52 59 20 4b 45 59 20 52 45 46 45 52  RIMARY KEY REFER
2ce0: 45 4e 43 45 53 20 63 6f 6d 70 74 61 5f 6a 6f 75  ENCES compta_jou
2cf0: 72 6e 61 6c 20 28 69 64 29 2c 0a 20 20 20 20 64  rnal (id),.    d
2d00: 61 74 65 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c  ate TEXT NOT NUL
2d10: 4c 20 44 45 46 41 55 4c 54 20 43 55 52 52 45 4e  L DEFAULT CURREN
2d20: 54 5f 54 49 4d 45 53 54 41 4d 50 20 43 48 45 43  T_TIMESTAMP CHEC
2d30: 4b 20 28 64 61 74 65 74 69 6d 65 28 64 61 74 65  K (datetime(date
2d40: 29 20 49 53 20 4e 4f 54 20 4e 55 4c 4c 20 41 4e  ) IS NOT NULL AN
2d50: 44 20 64 61 74 65 74 69 6d 65 28 64 61 74 65 29  D datetime(date)
2d60: 20 3d 20 64 61 74 65 29 2c 0a 20 20 20 20 69 64   = date),.    id
2d70: 5f 61 75 74 65 75 72 20 49 4e 54 45 47 45 52 20  _auteur INTEGER 
2d80: 4e 55 4c 4c 20 52 45 46 45 52 45 4e 43 45 53 20  NULL REFERENCES 
2d90: 6d 65 6d 62 72 65 73 20 28 69 64 29 0a 29 3b 0a  membres (id).);.
2da0: 0a 43 52 45 41 54 45 20 54 41 42 4c 45 20 49 46  .CREATE TABLE IF
2db0: 20 4e 4f 54 20 45 58 49 53 54 53 20 66 69 63 68   NOT EXISTS fich
2dc0: 69 65 72 73 0a 2d 2d 20 44 6f 6e 6e c3 a9 65 73  iers.-- Donn..es
2dd0: 20 73 75 72 20 6c 65 73 20 66 69 63 68 69 65 72   sur les fichier
2de0: 73 0a 28 0a 20 20 20 20 69 64 20 49 4e 54 45 47  s.(.    id INTEG
2df0: 45 52 20 4e 4f 54 20 4e 55 4c 4c 20 50 52 49 4d  ER NOT NULL PRIM
2e00: 41 52 59 20 4b 45 59 2c 0a 20 20 20 20 6e 6f 6d  ARY KEY,.    nom
2e10: 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c 4c 2c 20   TEXT NOT NULL, 
2e20: 2d 2d 20 6e 6f 6d 20 64 65 20 66 69 63 68 69 65  -- nom de fichie
2e30: 72 20 28 70 61 72 20 65 78 65 6d 70 6c 65 20 69  r (par exemple i
2e40: 6d 61 67 65 31 32 33 34 2e 6a 70 65 67 29 0a 20  mage1234.jpeg). 
2e50: 20 20 20 74 79 70 65 20 54 45 58 54 20 4e 55 4c     type TEXT NUL
2e60: 4c 2c 20 2d 2d 20 54 79 70 65 20 4d 49 4d 45 0a  L, -- Type MIME.
2e70: 20 20 20 20 69 6d 61 67 65 20 49 4e 54 45 47 45      image INTEGE
2e80: 52 20 4e 4f 54 20 4e 55 4c 4c 20 44 45 46 41 55  R NOT NULL DEFAU
2e90: 4c 54 20 30 2c 20 2d 2d 20 31 20 3d 20 69 6d 61  LT 0, -- 1 = ima
2ea0: 67 65 20 72 65 63 6f 6e 6e 75 65 0a 20 20 20 20  ge reconnue.    
2eb0: 64 61 74 65 74 69 6d 65 20 54 45 58 54 20 4e 4f  datetime TEXT NO
2ec0: 54 20 4e 55 4c 4c 20 44 45 46 41 55 4c 54 20 43  T NULL DEFAULT C
2ed0: 55 52 52 45 4e 54 5f 54 49 4d 45 53 54 41 4d 50  URRENT_TIMESTAMP
2ee0: 20 43 48 45 43 4b 20 28 64 61 74 65 74 69 6d 65   CHECK (datetime
2ef0: 28 64 61 74 65 74 69 6d 65 29 20 49 53 20 4e 4f  (datetime) IS NO
2f00: 54 20 4e 55 4c 4c 20 41 4e 44 20 64 61 74 65 74  T NULL AND datet
2f10: 69 6d 65 28 64 61 74 65 74 69 6d 65 29 20 3d 20  ime(datetime) = 
2f20: 64 61 74 65 74 69 6d 65 29 2c 20 2d 2d 20 44 61  datetime), -- Da
2f30: 74 65 20 64 27 61 6a 6f 75 74 20 6f 75 20 6d 69  te d'ajout ou mi
2f40: 73 65 20 c3 a0 20 6a 6f 75 72 20 64 75 20 66 69  se .. jour du fi
2f50: 63 68 69 65 72 0a 20 20 20 20 69 64 5f 63 6f 6e  chier.    id_con
2f60: 74 65 6e 75 20 49 4e 54 45 47 45 52 20 4e 4f 54  tenu INTEGER NOT
2f70: 20 4e 55 4c 4c 20 52 45 46 45 52 45 4e 43 45 53   NULL REFERENCES
2f80: 20 66 69 63 68 69 65 72 73 5f 63 6f 6e 74 65 6e   fichiers_conten
2f90: 75 20 28 69 64 29 0a 29 3b 0a 0a 43 52 45 41 54  u (id).);..CREAT
2fa0: 45 20 49 4e 44 45 58 20 49 46 20 4e 4f 54 20 45  E INDEX IF NOT E
2fb0: 58 49 53 54 53 20 66 69 63 68 69 65 72 73 5f 64  XISTS fichiers_d
2fc0: 61 74 65 20 4f 4e 20 66 69 63 68 69 65 72 73 20  ate ON fichiers 
2fd0: 28 64 61 74 65 74 69 6d 65 29 3b 0a 0a 43 52 45  (datetime);..CRE
2fe0: 41 54 45 20 54 41 42 4c 45 20 49 46 20 4e 4f 54  ATE TABLE IF NOT
2ff0: 20 45 58 49 53 54 53 20 66 69 63 68 69 65 72 73   EXISTS fichiers
3000: 5f 63 6f 6e 74 65 6e 75 0a 2d 2d 20 43 6f 6e 74  _contenu.-- Cont
3010: 65 6e 75 20 64 65 73 20 66 69 63 68 69 65 72 73  enu des fichiers
3020: 0a 28 0a 20 20 20 20 69 64 20 49 4e 54 45 47 45  .(.    id INTEGE
3030: 52 20 4e 4f 54 20 4e 55 4c 4c 20 50 52 49 4d 41  R NOT NULL PRIMA
3040: 52 59 20 4b 45 59 2c 0a 20 20 20 20 68 61 73 68  RY KEY,.    hash
3050: 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c 4c 2c 20   TEXT NOT NULL, 
3060: 2d 2d 20 48 61 73 68 20 53 48 41 31 20 64 75 20  -- Hash SHA1 du 
3070: 63 6f 6e 74 65 6e 75 20 64 75 20 66 69 63 68 69  contenu du fichi
3080: 65 72 0a 20 20 20 20 74 61 69 6c 6c 65 20 49 4e  er.    taille IN
3090: 54 45 47 45 52 20 4e 4f 54 20 4e 55 4c 4c 2c 20  TEGER NOT NULL, 
30a0: 2d 2d 20 54 61 69 6c 6c 65 20 65 6e 20 6f 63 74  -- Taille en oct
30b0: 65 74 73 0a 20 20 20 20 63 6f 6e 74 65 6e 75 20  ets.    contenu 
30c0: 42 4c 4f 42 20 4e 55 4c 4c 0a 29 3b 0a 0a 43 52  BLOB NULL.);..CR
30d0: 45 41 54 45 20 55 4e 49 51 55 45 20 49 4e 44 45  EATE UNIQUE INDE
30e0: 58 20 49 46 20 4e 4f 54 20 45 58 49 53 54 53 20  X IF NOT EXISTS 
30f0: 66 69 63 68 69 65 72 73 5f 68 61 73 68 20 4f 4e  fichiers_hash ON
3100: 20 66 69 63 68 69 65 72 73 5f 63 6f 6e 74 65 6e   fichiers_conten
3110: 75 20 28 68 61 73 68 29 3b 0a 0a 43 52 45 41 54  u (hash);..CREAT
3120: 45 20 54 41 42 4c 45 20 49 46 20 4e 4f 54 20 45  E TABLE IF NOT E
3130: 58 49 53 54 53 20 66 69 63 68 69 65 72 73 5f 6d  XISTS fichiers_m
3140: 65 6d 62 72 65 73 0a 2d 2d 20 41 73 73 6f 63 69  embres.-- Associ
3150: 61 74 69 6f 6e 73 20 65 6e 74 72 65 20 66 69 63  ations entre fic
3160: 68 69 65 72 73 20 65 74 20 6d 65 6d 62 72 65 73  hiers et membres
3170: 20 28 70 68 6f 74 6f 20 64 65 20 70 72 6f 66 69   (photo de profi
3180: 6c 20 70 61 72 20 65 78 65 6d 70 6c 65 29 0a 28  l par exemple).(
3190: 0a 20 20 20 20 66 69 63 68 69 65 72 20 49 4e 54  .    fichier INT
31a0: 45 47 45 52 20 4e 4f 54 20 4e 55 4c 4c 20 52 45  EGER NOT NULL RE
31b0: 46 45 52 45 4e 43 45 53 20 66 69 63 68 69 65 72  FERENCES fichier
31c0: 73 20 28 69 64 29 2c 0a 20 20 20 20 69 64 20 49  s (id),.    id I
31d0: 4e 54 45 47 45 52 20 4e 4f 54 20 4e 55 4c 4c 20  NTEGER NOT NULL 
31e0: 52 45 46 45 52 45 4e 43 45 53 20 6d 65 6d 62 72  REFERENCES membr
31f0: 65 73 20 28 69 64 29 2c 0a 20 20 20 20 50 52 49  es (id),.    PRI
3200: 4d 41 52 59 20 4b 45 59 28 66 69 63 68 69 65 72  MARY KEY(fichier
3210: 2c 20 69 64 29 0a 29 3b 0a 0a 43 52 45 41 54 45  , id).);..CREATE
3220: 20 54 41 42 4c 45 20 49 46 20 4e 4f 54 20 45 58   TABLE IF NOT EX
3230: 49 53 54 53 20 66 69 63 68 69 65 72 73 5f 77 69  ISTS fichiers_wi
3240: 6b 69 5f 70 61 67 65 73 0a 2d 2d 20 41 73 73 6f  ki_pages.-- Asso
3250: 63 69 61 74 69 6f 6e 73 20 65 6e 74 72 65 20 66  ciations entre f
3260: 69 63 68 69 65 72 73 20 65 74 20 70 61 67 65 73  ichiers et pages
3270: 20 64 75 20 77 69 6b 69 0a 28 0a 20 20 20 20 66   du wiki.(.    f
3280: 69 63 68 69 65 72 20 49 4e 54 45 47 45 52 20 4e  ichier INTEGER N
3290: 4f 54 20 4e 55 4c 4c 20 52 45 46 45 52 45 4e 43  OT NULL REFERENC
32a0: 45 53 20 66 69 63 68 69 65 72 73 20 28 69 64 29  ES fichiers (id)
32b0: 2c 0a 20 20 20 20 69 64 20 49 4e 54 45 47 45 52  ,.    id INTEGER
32c0: 20 4e 4f 54 20 4e 55 4c 4c 20 52 45 46 45 52 45   NOT NULL REFERE
32d0: 4e 43 45 53 20 77 69 6b 69 5f 70 61 67 65 73 20  NCES wiki_pages 
32e0: 28 69 64 29 2c 0a 20 20 20 20 50 52 49 4d 41 52  (id),.    PRIMAR
32f0: 59 20 4b 45 59 28 66 69 63 68 69 65 72 2c 20 69  Y KEY(fichier, i
3300: 64 29 0a 29 3b 0a 0a 43 52 45 41 54 45 20 54 41  d).);..CREATE TA
3310: 42 4c 45 20 49 46 20 4e 4f 54 20 45 58 49 53 54  BLE IF NOT EXIST
3320: 53 20 66 69 63 68 69 65 72 73 5f 63 6f 6d 70 74  S fichiers_compt
3330: 61 5f 6a 6f 75 72 6e 61 6c 0a 2d 2d 20 41 73 73  a_journal.-- Ass
3340: 6f 63 69 61 74 69 6f 6e 73 20 65 6e 74 72 65 20  ociations entre 
3350: 66 69 63 68 69 65 72 73 20 65 74 20 6a 6f 75 72  fichiers et jour
3360: 6e 61 6c 20 64 65 20 63 6f 6d 70 74 61 20 28 70  nal de compta (p
3370: 69 c3 a8 63 65 20 63 6f 6d 70 74 61 62 6c 65 20  i..ce comptable 
3380: 70 61 72 20 65 78 65 6d 70 6c 65 29 0a 28 0a 20  par exemple).(. 
3390: 20 20 20 66 69 63 68 69 65 72 20 49 4e 54 45 47     fichier INTEG
33a0: 45 52 20 4e 4f 54 20 4e 55 4c 4c 20 52 45 46 45  ER NOT NULL REFE
33b0: 52 45 4e 43 45 53 20 66 69 63 68 69 65 72 73 20  RENCES fichiers 
33c0: 28 69 64 29 2c 0a 20 20 20 20 69 64 20 49 4e 54  (id),.    id INT
33d0: 45 47 45 52 20 4e 4f 54 20 4e 55 4c 4c 20 52 45  EGER NOT NULL RE
33e0: 46 45 52 45 4e 43 45 53 20 63 6f 6d 70 74 61 5f  FERENCES compta_
33f0: 6a 6f 75 72 6e 61 6c 20 28 69 64 29 2c 0a 20 20  journal (id),.  
3400: 20 20 50 52 49 4d 41 52 59 20 4b 45 59 28 66 69    PRIMARY KEY(fi
3410: 63 68 69 65 72 2c 20 69 64 29 0a 29 3b 0a        chier, id).);.