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

Last change on this file since 1515 was 1515, checked in by roux, 10 years ago

correction bug photos taille champ text ; correction ordre indexation deputes organisme et section

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