Commit 84b64083 by Nicolas Joyard

Renommage tables

parent 45685840
"""Separation tables
Revision ID: 511f685c2fc2
Revises: 14e3a8ca0ec4
Create Date: 2017-04-15 09:17:42.698269
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = '511f685c2fc2'
down_revision = '14e3a8ca0ec4'
branch_labels = None
depends_on = None
def upgrade():
op.rename_table('actes', 'an_actes')
op.rename_table('acteurs', 'an_acteurs')
op.rename_table('acteurs_amendements', 'an_acteurs_amendements')
op.rename_table('acteurs_documents', 'an_acteurs_documents')
op.rename_table('acteurs_dossiers', 'an_acteurs_dossiers')
op.rename_table('acteurs_reunions', 'an_acteurs_reunions')
op.rename_table('amendements', 'an_amendements')
op.rename_table('documents', 'an_documents')
op.rename_table('documents_themes', 'an_documents_themes')
op.rename_table('dossiers', 'an_dossiers')
op.rename_table('jobs', 'parlapi_jobs')
op.rename_table('legislatures', 'an_legislatures')
op.rename_table('mandats', 'an_mandats')
op.rename_table('mandats_organes', 'an_mandats_organes')
op.rename_table('odjitems', 'an_odjitems')
op.rename_table('odjpoints', 'an_odjpoints')
op.rename_table('odjpoints_dossiers', 'an_odjpoints_dossiers')
op.rename_table('organes', 'an_organes')
op.rename_table('organes_documents', 'an_organes_documents')
op.rename_table('organes_dossiers', 'an_organes_dossiers')
op.rename_table('organes_reunions', 'an_organes_reunions')
op.rename_table('regimes', 'an_regimes')
op.rename_table('reunions', 'an_reunions')
op.rename_table('scrutins', 'an_scrutins')
op.rename_table('scrutins_groupes', 'an_scrutins_groupes')
op.rename_table('themes', 'an_themes')
op.rename_table('votants', 'an_votants')
def downgrade():
op.rename_table('an_actes', 'actes')
op.rename_table('an_acteurs', 'acteurs')
op.rename_table('an_acteurs_amendements', 'acteurs_amendements')
op.rename_table('an_acteurs_documents', 'acteurs_documents')
op.rename_table('an_acteurs_dossiers', 'acteurs_dossiers')
op.rename_table('an_acteurs_reunions', 'acteurs_reunions')
op.rename_table('an_amendements', 'amendements')
op.rename_table('an_documents', 'documents')
op.rename_table('an_documents_themes', 'documents_themes')
op.rename_table('an_dossiers', 'dossiers')
op.rename_table('an_legislatures', 'legislatures')
op.rename_table('an_mandats', 'mandats')
op.rename_table('an_mandats_organes', 'mandats_organes')
op.rename_table('an_odjitems', 'odjitems')
op.rename_table('an_odjpoints', 'odjpoints')
op.rename_table('an_odjpoints_dossiers', 'odjpoints_dossiers')
op.rename_table('an_organes', 'organes')
op.rename_table('an_organes_documents', 'organes_documents')
op.rename_table('an_organes_dossiers', 'organes_dossiers')
op.rename_table('an_organes_reunions', 'organes_reunions')
op.rename_table('an_regimes', 'regimes')
op.rename_table('an_reunions', 'reunions')
op.rename_table('an_scrutins', 'scrutins')
op.rename_table('an_scrutins_groupes', 'scrutins_groupes')
op.rename_table('an_themes', 'themes')
op.rename_table('an_votants', 'votants')
op.rename_table('parlapi_jobs', 'jobs')
......@@ -4,7 +4,7 @@ import graphene
from graphene import relay
from graphene_sqlalchemy import SQLAlchemyObjectType, SQLAlchemyConnectionField
from ..models import (
from ..models.an import (
Acte as ActeModel,
Acteur as ActeurModel,
ActeurAmendement as ActeurAmendementModel,
......@@ -14,7 +14,6 @@ from ..models import (
Amendement as AmendementModel,
Document as DocumentModel,
Dossier as DossierModel,
Job as JobModel,
Legislature as LegislatureModel,
Mandat as MandatModel,
ODJItem as ODJItemModel,
......@@ -30,6 +29,7 @@ from ..models import (
Theme as ThemeModel,
Votant as VotantModel,
)
from ..models.parlapi import Job as JobModel
class Acte(SQLAlchemyObjectType):
......
......@@ -2,7 +2,8 @@
from .base import BaseANJob
from .utils import ijson_items
from ..models import Amendement, ActeurAmendement, Document, Legislature, Organe
from ..models.an import (Amendement, ActeurAmendement, Document, Legislature,
Organe)
class ImportAmendementsJob(BaseANJob):
......
......@@ -2,7 +2,7 @@
from .base import BaseANJob
from .utils import ijson_items
from ..models import Organe, Regime, Legislature, Acteur, Mandat
from ..models.an import Organe, Regime, Legislature, Acteur, Mandat
class ImportAMOJob(BaseANJob):
......
......@@ -2,9 +2,9 @@
from .base import BaseANJob
from .utils import ijson_items
from ..models import (Organe, Legislature, Acteur, Document, Theme, Mandat,
ActeurDocument, OrganeDocument, Dossier, ActeurDossier,
OrganeDossier, Acte)
from ..models.an import (Organe, Legislature, Acteur, Document, Theme, Mandat,
ActeurDocument, OrganeDocument, Dossier, Acte,
OrganeDossier, ActeurDossier)
class ImportDossiersJob(BaseANJob):
......
......@@ -2,8 +2,8 @@
from .base import BaseANJob
from .utils import ijson_items
from ..models import (Organe, Acteur, Reunion, ODJItem, ODJPoint,
OrganeReunion, ActeurReunion)
from ..models.an import (Organe, Acteur, Reunion, ODJItem, ODJPoint,
OrganeReunion, ActeurReunion)
class ImportReunionsJob(BaseANJob):
......
......@@ -2,8 +2,8 @@
from .base import BaseANJob
from .utils import ijson_items
from ..models import (Organe, Legislature, Acteur, Mandat, Scrutin, Votant,
ScrutinGroupe)
from ..models.an import (Organe, Legislature, Acteur, Mandat, Scrutin, Votant,
ScrutinGroupe)
class ImportScrutinsJob(BaseANJob):
......
......@@ -13,12 +13,17 @@ import requests
from sqlalchemy.inspection import inspect
from ..models import db, Job
from ..models import db
from ..models.parlapi import Job
class BaseJob(object):
cache = defaultdict(lambda: {})
cache_pk = {'themes': 'theme', 'regimes': 'nom', 'jobs': 'nom'}
cache_pk = {
'an_themes': 'theme',
'an_regimes': 'nom',
'parlapi_jobs': 'nom'
}
columns = {}
relations = {}
......
# -*- coding: utf-8 -*-
from .database import db
# -*- coding: utf-8 -*-
from flask_sqlalchemy import SQLAlchemy, BaseQuery
from sqlalchemy_searchable import make_searchable, SearchQueryMixin
db = SQLAlchemy(session_options={'autoflush': False, 'autocommit': False})
make_searchable(options={'regconfig': 'pg_catalog.french'})
class SearchableQuery(BaseQuery, SearchQueryMixin):
pass
# -*- coding: utf-8 -*-
from sqlalchemy_utils.types import TSVectorType
from .database import db, SearchableQuery
#
# Modeles internes
#
class Job(db.Model):
__tablename__ = 'parlapi_jobs'
query_class = SearchableQuery
id = db.Column(db.Integer, primary_key=True)
nom = db.Column(db.Unicode)
date_exec = db.Column(db.DateTime)
url_fichier = db.Column(db.Unicode)
date_fichier = db.Column(db.DateTime)
temps_exec = db.Column(db.Integer)
nb_items = db.Column(db.Integer)
resultat = db.Column(db.Unicode)
search_vector = db.Column(TSVectorType('nom', 'url_fichier'))
# -*- coding: utf-8 -*-
from .api import API
from ..models import (
from ..models.an import (
Acte,
Acteur,
ActeurAmendement,
......@@ -11,7 +11,6 @@ from ..models import (
Amendement,
Document,
Dossier,
Job,
Legislature,
Mandat,
ODJItem,
......@@ -27,6 +26,7 @@ from ..models import (
Theme,
Votant
)
from ..models.parlapi import Job
def setup_an_api(app):
......
......@@ -6,7 +6,7 @@ import os
from flask import render_template, url_for
import humanize
from .models import Job
from .models.parlapi import Job
def setup_routes(app, rest_apis, graphql_api):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment