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

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

poids indexation

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