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

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

désindexe les amendements rectifiés

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