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

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