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

Last change on this file since 2672 was 2672, checked in by teymour, 9 years ago

Gestion des sous amendements dans la table sous-amendements

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