Select Git revision
      
    model.py  1.06 KiB 
import logging
import sqlalchemy as sa
from typing import Any
from sqlalchemy.ext.declarative import declarative_base
# from sqlalchemy.orm import relationship
logger = logging.getLogger(__name__)
# https://github.com/python/mypy/issues/2477
base_schema: Any = declarative_base()
class BudgetEntry(base_schema):
    __tablename__ = 'budgets'
    nren = sa.Column(sa.String(128), primary_key=True)
    year = sa.Column(sa.Integer, primary_key=True)
    budget = sa.Column(sa.Numeric(asdecimal=False), nullable=False)
class FundingSource(base_schema):
    __tablename__ = 'funding_source'
    nren = sa.Column(sa.String(128), primary_key=True)
    year = sa.Column(sa.Integer, primary_key=True)
    client_institutions = sa.Column(
        sa.Numeric(asdecimal=False), nullable=False)
    european_funding = sa.Column(sa.Numeric(asdecimal=False), nullable=False)
    gov_public_bodies = sa.Column(sa.Numeric(asdecimal=False), nullable=False)
    commercial = sa.Column(sa.Numeric(asdecimal=False), nullable=False)
    other = sa.Column(sa.Numeric(asdecimal=False), nullable=False)