source: cpc/trunk/project/config/doctrine/schema.yml @ 1397

Last change on this file since 1397 was 1397, checked in by roux, 11 years ago

ajouts rapports manquants et correction modele pour new type ids

File size: 13.2 KB
Line 
1options:
2    type: MyISAM
3    collate: utf8_unicode_ci
4    charset: utf8
5
6
7Personnalite:
8  actAs:
9    Timestampable:
10    Sluggable:
11      fields: [nom]
12      unique: true
13  columns:
14    nom: string(255)
15    nom_de_famille: string(255)
16    sexe:
17      type: enum
18      values: ['H', 'F']
19  inheritance:
20    extends: ObjectCommentable
21    type: concrete
22
23Parlementaire:
24  actAs:
25    Solrable:
26      title: nom
27      extra_weight: 1.5
28      description: [num_circo, nom_circo]
29      moretags: [profession, nom_circo]
30  columns:     
31    nom_circo: string(255)
32    num_circo: integer
33    site_web: string(255)
34    debut_mandat: date
35    fin_mandat: date
36    place_hemicycle: integer
37    url_an: string(255)
38    profession: string(255)
39    photo: blob
40    autoflip: boolean
41    id_an:
42      type: integer
43      unique: true
44    type:
45      type: enum
46      values: ['depute', 'senateur']
47    groupe_acronyme: string(8)
48    adresses: string
49    autres_mandats: string
50    mails: string
51    top: string
52  inheritance:
53    extends: Personnalite
54    type: concrete
55  relations:
56    Organismes:
57      class: Organisme
58      refClass: ParlementaireOrganisme
59      foreignAlias: Parlementaires
60  indexes:
61    uniq_url:
62      fields: [url_an]
63      type: unique
64
65Organisme:
66  actAs:
67    Timestampable:
68    Sluggable:
69      fields: [nom]
70      unique: true
71  columns:
72    nom:
73      type: string(255)
74      unique: true
75#      notnull: true
76    type:
77      type: enum
78      values: ['parlementaire', 'groupe', 'extra']
79
80ParlementaireOrganisme:
81  columns:
82    fonction: string(512)
83    importance: integer
84    debut_fonction: date
85    organisme_id:
86      type: integer
87      primary: true
88    parlementaire_id:
89      type: integer
90      primary: true
91  relations:
92    Parlementaire:
93      foreignAlias: ParlementaireOrganismes
94    Organisme:
95      foreignAlias: ParlementaireOrganismes
96
97Seance:
98  actAs:
99    Timestampable:
100  columns:
101    date: date
102    numero_semaine: integer
103    annee: integer
104    type:
105      type: enum
106      values: ['commission', 'hemicycle']
107    moment: string(30)
108    organisme_id: integer
109    tagged: boolean
110    session: string(10)
111  inheritance:
112    extends: ObjectCommentable
113    type: concrete
114  relations:
115    Organisme:
116      foreignAlias: Seances
117  indexes:
118    uniq_index:
119      fields: [organisme_id, date, moment]
120      type: unique
121    index_session:
122      fields: [session]
123    index_semaine:
124      fields: [annee, numero_semaine]
125    index_annee:
126      fields: [annee]
127
128Presence:
129  actAs:
130    Timestampable:
131  columns:
132    parlementaire_id: integer
133    seance_id: integer
134    nb_preuves: integer
135    date: date
136  relations:
137    Parlementaire:
138      foreignAlias: Presences
139    Seance:
140      foreignAlias: Presences
141
142PreuvePresence:
143  actAs:
144    Timestampable:
145  columns:
146    presence_id: integer
147    type:
148      type: enum
149      values: ['jo', 'intervention', 'compte-rendu', 'autre']
150    source: string(200)
151  relations:
152    Presence:
153      foreignAlias: Preuves
154
155Section:
156  actAs:
157    Timestampable: ~
158    Taggable: ~
159  columns:
160    md5:
161      type: string(36)
162      unique: true
163    titre: string(256)
164    titre_complet: string(512)
165    section_id: integer
166    min_date: string(15)
167    max_date: date
168    timestamp: integer
169    nb_interventions: integer
170    url_an: string(255)
171  inheritance:
172    extends: ObjectCommentable
173    type: concrete
174  relations:
175    Section:
176      foreignAlias: SubSections
177
178Intervention:
179  actAs:
180    Timestampable: ~
181    Taggable: ~
182    Solrable:
183      description: [Parlementaire, Personnalite, intervention]
184      moretags: [Parlementaire, Personnalite, type]
185      devaluate_if_wordcount_under: 200
186      date: date
187  columns:
188#    id:
189#      type: string(36)
190#      primary: true
191    nb_mots: integer
192    md5:
193      type: string(36)
194      unique: true
195    intervention:
196      type: string
197    timestamp: integer
198    source: string(128)
199    seance_id: integer
200    section_id: integer
201    type:
202      type: enum
203      values: ['commission', 'question', 'loi']
204    date: date
205    personnalite_id: integer
206    parlementaire_id: integer
207    fonction: string(512)
208  relations:
209    Section:
210      foreignAlias: Interventions
211    Seance:
212      foreignAlias: Interventions
213    Personnalite:
214      class: Personnalite
215      foreignAlias: Interventions
216    Parlementaire:
217      class: Parlementaire
218      foreignAlias: Interventions
219  inheritance:
220    extends: ObjectCommentable
221    type: concrete
222  indexes:
223    date_intervention:
224      fields: [date]
225    ft_intervention:
226      fields: [intervention]
227      type: fulltext
228
229Amendement:
230  actAs:
231    Timestampable: ~
232    Taggable: ~
233    Solrable:
234      description: [expose, texte, signataires]
235      moretags: [Parlementaires, sort]
236      date: date
237  columns:
238    source:
239      type: string(255)
240    legislature: integer
241    texteloi_id: string(16)
242    numero: string(8)
243    rectif: integer
244    sujet: string(100)
245    sort:
246      type: enum
247      values: ['Indéfini', 'Adopté', 'Irrecevable', 'Rejeté', 'Retiré', 'Tombe', 'Non soutenu', 'Retiré avant séance', 'Rectifié', 'Favorable']
248    date: date
249    signataires: string
250    texte:
251      type: string
252    expose:
253      type: string
254    content_md5: string(36)
255  relations:
256    Parlementaires:
257      class: Parlementaire
258      refClass: ParlementaireAmendement
259      foreignAlias: Amendements
260    Texteloi:
261      foreignAlias: Texteloi
262  inheritance:
263    extends: ObjectCommentable
264    type: concrete
265  indexes:
266    ft_amendements:
267      fields: [sujet, texte, expose]
268      type: fulltext
269    uniq_loi_num:
270      fields: [legislature, texteloi_id, numero, rectif]
271      type: unique
272
273QuestionEcrite:
274  actAs:
275    Timestampable: ~
276    Taggable: ~
277    Solrable:
278      description: [Parlementaire, question, ministere, reponse, themes]
279      moretags: [Parlementaire, ministere, motif_retrait, numero, themes]
280      date: date
281  columns:
282    source:
283      type: string(255)
284      unique: true
285    legislature: integer
286    numero: integer
287    date: date
288    date_cloture: date
289    ministere: string
290    themes: string
291    question:
292      type: string
293    reponse:
294      type: string
295    motif_retrait:
296      type: string
297    content_md5: string(36)
298    parlementaire_id: integer
299  inheritance:
300    extends: ObjectCommentable
301    type: concrete
302  relations:
303    Parlementaire:
304      class: Parlementaire
305      foreignAlias: QuestionEcrites
306  indexes:
307    uniq_num:
308      fields: [legislature, numero]
309      type: unique
310
311ParlementaireAmendement:
312  actAs:
313    Timestampable:
314  columns:
315    parlementaire_id: integer
316    amendement_id: string(36)
317    numero_signataire: integer
318  relations:
319    Parlementaire:
320      foreignAlias: ParlementaireAmendements
321    Amendement:
322      foreignAlias: ParlementaireAmendements
323
324Citoyen:
325  actAs:
326    Timestampable: ~
327    Sluggable:
328      fields: [login]
329      unique: true
330  columns:
331    login:
332      type: string(128)
333      unique: true
334    password:
335      type: string(40)
336    email:
337      type: string(255)
338      unique: true
339      notnull: true
340    activite: string(255)
341    url_site: string(255)
342    employe_an:
343      type: boolean
344      default: 0
345    travail_pour: integer
346    naissance: date
347    sexe:
348      type: enum
349      values: [null, 'H', 'F']
350    nom_circo: string(255)
351    num_circo: integer
352    photo: blob
353    activation_id: string(32)
354    is_active:
355      type: boolean
356      default: 0
357    role:
358      type: enum
359      values: ['membre', 'moderateur', 'admin']
360      default: membre
361    last_login: timestamp
362    parametres: string
363  indexes:
364    is_active:
365      fields: [is_active]
366    role:
367      fields: [role]
368
369VariableGlobale:
370  actAs:
371    Timestampable:
372  columns:
373    champ: string(32)
374    value: blob
375
376Commentaire:
377  actAs:
378    Timestampable:
379    Solrable:
380      description: [Citoyen, commentaire]
381      moretags: [Citoyen, object_type, object_id]
382      date: created_at
383      index_if: is_public
384  columns:
385    citoyen_id: integer
386    commentaire: string
387    is_public: boolean
388    ip_address: string(512)
389    rate: integer
390    object_type: string(64)
391    object_id: string(16)
392    lien: string(128)
393    presentation: string(512)
394  relations:
395    Citoyen:
396      foreignAlias: Commentaires
397  inheritance:
398    extends: ObjectRated
399    type: concrete
400  indexes:
401    commentable:
402      fields: [object_type, object_id]
403
404CommentaireObject:
405 columns:
406   object_type: string(64)
407   object_id: integer
408   commentaire_id: integer
409 relations:
410   Commentaire:
411     foreignAlias: Objects
412 indexes:
413   unique:
414     fields: [object_type, object_id, commentaire_id]
415     type: unique
416
417ObjectRated:
418  columns:
419    rate: integer
420
421ObjectCommentable:
422  columns:
423    nb_commentaires: integer
424
425Rate:
426  actAs:
427    Timestampable:
428  columns:
429    object_type: string(50)
430    object_id: integer
431    rate: integer
432    citoyen_id: integer
433  relations:
434    Citoyen:
435      foreignAlias: Rates
436    Object:
437      foreignAlias: Rates
438  indexes:
439    unique:
440      fields: [object_type, object_id, citoyen_id]
441      type: unique
442
443Article:
444  actAs:
445    Timestampable:
446    Versionable:
447    Sluggable:
448      fields: [titre]
449  columns:
450    titre: string(254)
451    corps: string
452    user_corps: string
453    categorie: string(128)
454    citoyen_id: integer
455    article_id: integer
456    link: string(255)
457    status:
458      type: enum
459      values: ['public', 'brouillon', 'offline']
460      default: 'brouillon'
461    object_id: integer
462  inheritance:
463    extends: ObjectRated
464    type: concrete
465  inheritance:
466    extends: ObjectCommentable
467    type: concrete
468  relations:
469    Citoyen:
470      foreignAlias: Articles
471    Article:
472      foreignAlias: SousArticles
473  indexes:
474    icategories:
475      fields: [categorie]
476    iobject:
477      fields: [categorie, object_id]
478      unique: true
479    ititre:
480      fields: [categorie, titre(200)]
481    ititrecitoyen:
482      fields: [categorie, titre(200), citoyen_id]
483    iarticle:
484      fields: [article_id]
485
486ArticleLoi:
487  actAs:
488    Sluggable:
489      fields: [titre]
490      unique: false
491  columns:
492    texteloi_id: string(16)
493    titre: string(16)
494    ordre: integer
495    precedent: string(16)
496    suivant: string(16)
497    expose:
498      type: string
499    titre_loi_id: integer
500  relations:
501    TitreLoi:
502      class: TitreLoi
503      foreignAlias: Articles
504    Texteloi:
505      foreignAlias: Texteloi
506  inheritance:
507    extends: ObjectCommentable
508    type: concrete
509  indexes:
510    iloititre:
511      fields: [texteloi_id, titre]
512      type: unique
513    iloiarticle:
514      fields: [texteloi_id, ordre]
515
516Alinea:
517  actAs:
518    Timestampable:
519  columns:
520    texteloi_id: string(16)
521    article_loi_id: integer
522    numero: integer
523    texte:
524      type: string
525    ref_loi: string(255)
526  relations:
527    Article:
528      class: ArticleLoi
529      foreignAlias: Alineas
530    Texteloi:
531      foreignAlias: Texteloi
532  inheritance:
533    extends: ObjectCommentable
534    type: concrete
535  indexes:
536    iarticleloinumero:
537      fields: [texteloi_id, article_loi_id, numero]
538      type: unique
539
540TitreLoi:
541  actAs:
542    Timestampable:
543  columns:
544    texteloi_id: string(16)
545    chapitre: string(8)
546    section: string(8)
547    titre: string(512)
548    expose:
549      type: string
550    parlementaire_id: integer
551    date: date
552    source:
553      type: string(128)
554      unique: true
555    nb_articles: integer
556    titre_loi_id: integer
557  inheritance:
558    extends: ObjectCommentable
559    type: concrete
560  relations:
561    Parlementaire:
562      class: Parlementaire
563      foreignAlias: Propositions
564    TitreLoi:
565      foreignAlias: SousSections
566    Texteloi:
567      foreignAlias: Texteloi
568
569Texteloi:
570  actAs:
571    Timestampable: ~
572    Taggable: ~
573    Solrable:
574      title: [titre]
575      description: [contenu, annexe, signataires]
576      moretags: [categorie, type, Organisme, Parlementaires]
577      date: date
578  columns:
579    id:
580      type: string(16)
581      unique: true
582    legislature: integer
583    numero: integer
584    annexe: string(12)
585    type:
586      type: enum
587      values: ['Proposition de loi', 'Proposition de résolution', 'Projet de loi', 'Texte de la commission', 'Lettre', 'Rapport', "Rapport d'information", 'Avis']
588    type_details: string(512)
589    categorie: string(128)
590    url_an: string(255)
591    titre: string(512)
592    date: date
593    source:
594      type: string(128)
595      unique: true
596    organisme_id: integer
597    signataires: string
598    contenu: string
599  relations:
600    Parlementaires:
601      class: Parlementaire
602      refClass: ParlementaireTexteloi
603      foreignAlias: Textelois
604    Organisme:
605      foreignAlias: Textelois
606  inheritance:
607    extends: ObjectCommentable
608    type: concrete
609  indexes:
610    index_url:
611      fields: [url_an]
612    index_alpha:
613      fields: [numero, annexe]
614      type: unique
615    index_type:
616      fields: [type(30), type_details(200)]
617    index_date:
618      fields: [date]
619
620ParlementaireTexteloi:
621  actAs:
622    Timestampable:
623  columns:
624    parlementaire_id: integer
625    texteloi_id: string(16)
626    importance: integer
627    fonction: string(255)
628  relations:
629    Parlementaire:
630      foreignAlias: ParlementaireTextelois
631    Texteloi:
632      foreignAlias: ParlementaireTextelois
633
634Alerte:
635  actAs:
636    Timestampable:
637  columns:
638    email: string(128)
639    query: string(128)
640    titre: string
641    confirmed: boolean
642    period:
643      type: enum
644      values: ['HOUR', 'DAY', 'WEEK', 'MONTH']
645    next_mail: datetime
646    last_mail: datetime
647    citoyen_id: integer
648    verif: string(128)
649  relations:
650    Citoyen:
651      class: Citoyen
652      foreignAlias: Alertes
653   
Note: See TracBrowser for help on using the repository browser.