コード例 #1
0
ファイル: models.py プロジェクト: sincere32/trapharvester
def connect_db(db_url=DB_URL, do_echo=False):
    engine = create_engine(db_url, echo=do_echo)
    Base.metadata.bind = engine
    Base.metadata.create_all(engine)
    Session = sessionmaker(bind=engine)
    Session.configure(bind=engine)
    return (Session(), engine)
コード例 #2
0
def init(URI='sqlite:////tmp/test.db', drop_all=False):
    """Initialize the database."""
    module_name = __name__.split('.')[-1]
    log = logging.getLogger(module_name)
    URL = make_url(URI)

    log.info("Initializing the database")
    log.debug("  driver:   {}".format(URL.drivername))
    log.debug("  host:     {}".format(URL.host))
    log.debug("  port:     {}".format(URL.port))
    log.debug("  database: {}".format(URL.database))
    log.debug("  username: {}".format(URL.username))

    # TODO is this really necessary
    from . import db
    db.URI = URI

    # Make sure that the director for the file database exists.

    if URL.host is None and URL.database:
        os.makedirs(os.path.dirname(URL.database), exist_ok=True)

    db.engine = sql.create_engine(URI, convert_unicode=True)
    db.Session = scoped_session(sessionmaker(autocommit=False,
                                             autoflush=False))
    db.object_session = Session.object_session

    Session.configure(bind=db.engine)

    if drop_all:
        log.warn("Dropping existing tables!")
        Base.metadata.drop_all(db.engine)

    Base.metadata.create_all(bind=db.engine)
    log.info("Database initialized!")
コード例 #3
0
ファイル: test_sqlalchemy.py プロジェクト: polyactis/test
2008-04-28 below is copied from
http://www.rmunn.com/sqlalchemy-tutorial/tutorial.html
"""

from sqlalchemy import create_engine
engine = create_engine('sqlite:///:memory:', echo=True)

#from sqlalchemy import create_session
#session = create_session()

from sqlalchemy.orm.session import Session
#session = Session(bind=eng)

from sqlalchemy.orm import sessionmaker
Session = sessionmaker(autoflush=True, transactional=True)
Session.configure(bind=eng)
session = Session()
"""
2008-05-24
	direct engine binding here.
	but it's not necessary. session seems to be able to figure out engine on its own. although it could be bad when the engine
	was changed, it still binds the old engine.

"""
from sqlalchemy import Table, Column, Integer, String, MetaData, ForeignKey
#clear_mappers
from sqlalchemy.orm import mapper, relation

metadata = MetaData()
metadata.bind = eng
コード例 #4
0
 def create_Session(self):
     Session = sessionmaker()
     self.sess = Session.configure(bind=self.engine)
     self.sess = Session()
     return self.sess
コード例 #5
0
#!/usr/bin/python3
""" lists all State objects from the database hbtn_0e_6_usa
"""
import sys
from sqlalchemy.orm import session

from sqlalchemy.orm.session import Session
from model_state import Base, State
from sqlalchemy.orm import sessionmaker
from sqlalchemy import (create_engine)

if __name__ == "__main__":
    engine = create_engine('mysql+mysqldb://{}:{}@localhost:3306/{}'.format(
        sys.argv[1], sys.argv[2], sys.argv[3]),
                           pool_pre_ping=True)

    # Base.metadata.create_all(engine)

    Session = sessionmaker()
    Session.configure(bind=engine)

    session = Session()

    obj = session.query(State).filter(State.id == 2).first()

    obj.name = "New Mexico"
    session.add(obj)
    session.commit()
    session.close()
コード例 #6
0
 def create_Session(self):
     Session = sessionmaker()
     self.sess = Session.configure(bind=self.engine)
     self.sess = Session()
     return self.sess
コード例 #7
0
 def get_session(self) -> Session:
     Session = sessionmaker()
     Session.configure(bind=self.engine)
     session = Session()
     return session