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

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

Ajout d'un champ pour les amendements multiples (+correction bug rectifié)

File size: 14.1 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    nb_multiples:
285      type: integer
286      default: 1
287  relations:
288    Parlementaires:
289      class: Parlementaire
290      refClass: ParlementaireAmendement
291      foreignAlias: Amendements
292    Texteloi:
293      foreignAlias: Amendements
294  inheritance:
295    extends: ObjectCommentable
296    type: concrete
297  indexes:
298    ft_amendements:
299      fields: [sujet, texte, expose]
300      type: fulltext
301    uniq_loi_num:
302      fields: [legislature, texteloi_id, numero, rectif]
303      type: unique
304
305QuestionEcrite:
306  actAs:
307    Timestampable: ~
308    Taggable: ~
309    Solrable:
310      description: [question, ministere, reponse, themes]
311      moretags: [Parlementaire, ministere, motif_retrait, themes]
312      date: last_date
313  columns:
314    source:
315      type: string(255)
316      unique: true
317    legislature: integer
318    numero: integer
319    date: date
320    date_cloture: date
321    ministere: string
322    themes: string
323    question:
324      type: string
325    reponse:
326      type: string
327    motif_retrait:
328      type: string
329    content_md5: string(36)
330    parlementaire_id: integer
331  inheritance:
332    extends: ObjectCommentable
333    type: concrete
334  relations:
335    Parlementaire:
336      class: Parlementaire
337      foreignAlias: QuestionEcrites
338  indexes:
339    uniq_num:
340      fields: [legislature, numero]
341      type: unique
342    index_date:
343      fields: [date]
344
345ParlementaireAmendement:
346  actAs:
347    Timestampable:
348  columns:
349    parlementaire_id: integer
350    amendement_id: string(36)
351    numero_signataire: integer
352  relations:
353    Parlementaire:
354      foreignAlias: ParlementaireAmendements
355    Amendement:
356      foreignAlias: ParlementaireAmendements
357
358Citoyen:
359  actAs:
360    Timestampable: ~
361    Sluggable:
362      fields: [login]
363      unique: true
364  columns:
365    login:
366      type: string(128)
367      unique: true
368    password:
369      type: string(40)
370    email:
371      type: string(255)
372      unique: true
373      notnull: true
374    activite: string(255)
375    url_site: string(255)
376    employe_an:
377      type: boolean
378      default: 0
379    travail_pour: integer
380    naissance: date
381    sexe:
382      type: enum
383      values: [null, 'H', 'F']
384    nom_circo: string(255)
385    num_circo: integer
386    photo: blob
387    activation_id: string(32)
388    is_active:
389      type: boolean
390      default: 0
391    role:
392      type: enum
393      values: ['membre', 'moderateur', 'admin']
394      default: membre
395    last_login: timestamp
396    parametres: string
397  indexes:
398    is_active:
399      fields: [is_active]
400    role:
401      fields: [role]
402
403VariableGlobale:
404  actAs:
405    Timestampable:
406  columns:
407    champ: string(32)
408    value: blob
409
410Commentaire:
411  actAs:
412    Timestampable:
413    Solrable:
414      description: [Citoyen, commentaire]
415      moretags: [Citoyen, object_type, object_id, Parlementaires]
416      date: created_at
417      index_if: is_public
418  columns:
419    citoyen_id: integer
420    commentaire: string
421    is_public: boolean
422    ip_address: string(512)
423    rate: integer
424    object_type: string(64)
425    object_id: string(16)
426    lien: string(128)
427    presentation: string(512)
428  relations:
429    Citoyen:
430      foreignAlias: Commentaires
431  inheritance:
432    extends: ObjectRated
433    type: concrete
434  indexes:
435    commentable:
436      fields: [object_type, object_id]
437
438CommentaireObject:
439 columns:
440   object_type: string(64)
441   object_id: integer
442   commentaire_id: integer
443 relations:
444   Commentaire:
445     foreignAlias: Objects
446 indexes:
447   unique:
448     fields: [object_type, object_id, commentaire_id]
449     type: unique
450
451ObjectRated:
452  columns:
453    rate: integer
454
455ObjectCommentable:
456  columns:
457    nb_commentaires: integer
458
459Rate:
460  actAs:
461    Timestampable:
462  columns:
463    object_type: string(50)
464    object_id: integer
465    rate: integer
466    citoyen_id: integer
467  relations:
468    Citoyen:
469      foreignAlias: Rates
470    Object:
471      foreignAlias: Rates
472  indexes:
473    unique:
474      fields: [object_type, object_id, citoyen_id]
475      type: unique
476
477Article:
478  actAs:
479    Timestampable:
480    Versionable:
481    Sluggable:
482      fields: [titre]
483  columns:
484    titre: string(254)
485    corps: string
486    user_corps: string
487    categorie: string(128)
488    citoyen_id: integer
489    article_id: integer
490    link: string(255)
491    status:
492      type: enum
493      values: ['public', 'brouillon', 'offline']
494      default: 'brouillon'
495    object_id: integer
496  inheritance:
497    extends: ObjectRated
498    type: concrete
499  inheritance:
500    extends: ObjectCommentable
501    type: concrete
502  relations:
503    Citoyen:
504      foreignAlias: Articles
505    Article:
506      foreignAlias: SousArticles
507  indexes:
508    icategories:
509      fields: [categorie]
510    iobject:
511      fields: [categorie, object_id]
512      unique: true
513    ititre:
514      fields: [categorie, titre(200)]
515    ititrecitoyen:
516      fields: [categorie, titre(200), citoyen_id]
517    iarticle:
518      fields: [article_id]
519
520ArticleLoi:
521  actAs:
522    Sluggable:
523      fields: [titre]
524      unique: false
525  columns:
526    texteloi_id: string(16)
527    titre: string(16)
528    ordre: integer
529    precedent: string(16)
530    suivant: string(16)
531    expose:
532      type: string
533    titre_loi_id: integer
534  relations:
535    TitreLoi:
536      class: TitreLoi
537      foreignAlias: Articles
538    Texteloi:
539      foreignAlias: ArticleLois
540  inheritance:
541    extends: ObjectCommentable
542    type: concrete
543  indexes:
544    iloititre:
545      fields: [texteloi_id, titre]
546      type: unique
547    iloiarticle:
548      fields: [texteloi_id, ordre]
549
550Alinea:
551  actAs:
552    Timestampable:
553  columns:
554    texteloi_id: string(16)
555    article_loi_id: integer
556    numero: integer
557    texte:
558      type: string
559    ref_loi: string(255)
560  relations:
561    Article:
562      class: ArticleLoi
563      foreignAlias: Alineas
564    Texteloi:
565      foreignAlias: Alineas
566  inheritance:
567    extends: ObjectCommentable
568    type: concrete
569  indexes:
570    iarticleloinumero:
571      fields: [texteloi_id, article_loi_id, numero]
572      type: unique
573
574TitreLoi:
575  actAs:
576    Timestampable:
577  columns:
578    texteloi_id: string(16)
579    chapitre: string(8)
580    section: string(8)
581    titre: string(512)
582    expose:
583      type: string
584    parlementaire_id: integer
585    date: date
586    source:
587      type: string(128)
588      unique: true
589    nb_articles: integer
590    titre_loi_id: integer
591  inheritance:
592    extends: ObjectCommentable
593    type: concrete
594  relations:
595    Parlementaire:
596      class: Parlementaire
597      foreignAlias: Propositions
598    TitreLoi:
599      foreignAlias: SousSections
600    Texteloi:
601      foreignAlias: TitreLois
602
603Texteloi:
604  actAs:
605    Timestampable: ~
606    Taggable: ~
607    Solrable:
608      title: [titre]
609      description: [contenu, id]
610      moretags: [categorie, type, Organisme, Parlementaires]
611      date: date
612  columns:
613    id:
614      type: string(16)
615      unique: true
616    legislature: integer
617    numero: integer
618    annexe: string(12)
619    type:
620      type: enum
621      values: ['Proposition de loi', 'Proposition de résolution', 'Projet de loi', 'Texte de la commission', 'Lettre', 'Rapport', "Rapport d'information", 'Avis']
622    type_details: string(512)
623    categorie: string(128)
624    id_dossier_an: string(255)
625    titre: string(512)
626    date: date
627    source:
628      type: string(128)
629      unique: true
630    organisme_id: integer
631    signataires: string
632    contenu: string
633  relations:
634    Parlementaires:
635      class: Parlementaire
636      refClass: ParlementaireTexteloi
637      foreignAlias: Textelois
638    Organisme:
639      foreignAlias: Textelois
640  inheritance:
641    extends: ObjectCommentable
642    type: concrete
643  indexes:
644    index_url:
645      fields: [id_dossier_an]
646    index_alpha:
647      fields: [numero, annexe]
648      type: unique
649    index_type:
650      fields: [type(30), type_details(200)]
651    index_date:
652      fields: [date]
653
654ParlementaireTexteloi:
655  actAs:
656    Timestampable:
657  columns:
658    parlementaire_id: integer
659    texteloi_id: string(16)
660    importance: integer
661    fonction: string(255)
662  relations:
663    Parlementaire:
664      foreignAlias: ParlementaireTextelois
665    Texteloi:
666      foreignAlias: ParlementaireTextelois
667
668Alerte:
669  actAs:
670    Timestampable:
671  columns:
672    email: string(128)
673    query: string
674    filter: string
675    query_md5: string(32)
676    titre: string
677    confirmed: boolean
678    no_human_query: boolean
679    period:
680      type: enum
681      values: ['HOUR', 'DAY', 'WEEK', 'MONTH']
682    next_mail: datetime
683    last_mail: datetime
684    citoyen_id: integer
685    verif: string(128)
686  relations:
687    Citoyen:
688      foreignAlias: Alertes
689  indexes:
690    index_uniq:
691      fields: [email, citoyen_id, query_md5]
692      type: unique
693   
Note: See TracBrowser for help on using the repository browser.