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

Last change on this file since 1453 was 1453, checked in by teymour, 11 years ago

Uniq md5 filter+query

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