예제 #1
0
 def __init__(self, server, port, user, pw, **kwargs):
     self.server = server
     self.port = port
     self.user = user
     self.pw = pw
     self._meta = _MetaData()
     self.engine = None
예제 #2
0
# Copyright (c) 2009-2011, Stefano Rivera
# Released under terms of the MIT/X/Expat Licence. See COPYING for details.
import warnings as _warnings

from ibid.db.types import TypeDecorator, Integer, DateTime, Boolean, \
                          IbidUnicode, IbidUnicodeText

from sqlalchemy import Table, Column, ForeignKey, Index, UniqueConstraint, \
                       PassiveDefault, or_, and_, MetaData as _MetaData
from sqlalchemy.orm import eagerload, relation, synonym
from sqlalchemy.sql import func
from sqlalchemy.ext.declarative import declarative_base as _declarative_base

from sqlalchemy.exceptions import IntegrityError, SADeprecationWarning

metadata = _MetaData()
Base = _declarative_base(metadata=metadata)

from ibid.db.versioned_schema import VersionedSchema, SchemaVersionException, \
                                     schema_version_check, upgrade_schemas

# We use SQLAlchemy 0.4 compatible .save_or_update() functions
_warnings.filterwarnings('ignore', 'Use session.add\(\)', SADeprecationWarning)

def get_regexp_op(session):
    "Return a regexp operator"
    if session.bind.engine.name in ('postgres', 'postgresql'):
        return lambda x, y: x.op('~')(y)
    else:
        return lambda x, y: x.op('REGEXP')(y)
예제 #3
0
파일: __init__.py 프로젝트: vhata/ibid
# Copyright (c) 2009-2011, Stefano Rivera
# Released under terms of the MIT/X/Expat Licence. See COPYING for details.
import warnings as _warnings

from ibid.db.types import TypeDecorator, Integer, DateTime, Boolean, \
                          IbidUnicode, IbidUnicodeText

from sqlalchemy import Table, Column, ForeignKey, Index, UniqueConstraint, \
                       PassiveDefault, or_, and_, MetaData as _MetaData
from sqlalchemy.orm import eagerload, relation, synonym
from sqlalchemy.sql import func
from sqlalchemy.ext.declarative import declarative_base as _declarative_base

from sqlalchemy.exceptions import IntegrityError, SADeprecationWarning

metadata = _MetaData()
Base = _declarative_base(metadata=metadata)

from ibid.db.versioned_schema import VersionedSchema, SchemaVersionException, \
                                     schema_version_check, upgrade_schemas

# We use SQLAlchemy 0.4 compatible .save_or_update() functions
_warnings.filterwarnings('ignore', 'Use session.add\(\)', SADeprecationWarning)


def get_regexp_op(session):
    "Return a regexp operator"
    if session.bind.engine.name in ('postgres', 'postgresql'):
        return lambda x, y: x.op('~')(y)
    else:
        return lambda x, y: x.op('REGEXP')(y)
예제 #4
0
from config import *
from sqlalchemy import  MetaData as _MetaData
from sqlalchemy.ext.declarative import declarative_base as _declarative_base
DeclarativeBase = _declarative_base(metadata=_MetaData())
예제 #5
0
파일: db.py 프로젝트: fabianazioti/bdc-db
#
# This file is part of BDC-DB.
# Copyright (C) 2020 INPE.
#
# BDC-DB is free software; you can redistribute it and/or modify it
# under the terms of the MIT License; see LICENSE file for more details.
#

"""Database instance using Flask-SQLAlchemy extension."""

from flask_sqlalchemy import SQLAlchemy as _SQLAlchemy
from sqlalchemy import MetaData as _MetaData

# See more in https://docs.sqlalchemy.org/en/13/core/constraints.html#configuring-constraint-naming-conventions
NAMING_CONVENTION = {
  "ix": 'idx_%(column_0_label)s',
  "uq": "%(table_name)s_%(column_0_name)s_key",
  "ck": "%(table_name)s_%(constraint_name)s_ckey",
  "fk": "%(table_name)s_%(column_0_name)s_%(referred_table_name)s_fkey",
  "pk": "%(table_name)s_pkey"
}
"""Naming convention for SQLAlchemy constraint keys"""

metadata = _MetaData(naming_convention=NAMING_CONVENTION)
"""Default database metadata object holding associated schema constructs."""


db = _SQLAlchemy(metadata=metadata)
"""Shared database instance using Flask-SQLAlchemy extension."""