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

Last change on this file since 2678 was 2678, checked in by goya, 9 years ago

miss title in questions

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