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

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

intégration texteslois, manquent plus que les députés

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