31 lines
1.2 KiB
Python
31 lines
1.2 KiB
Python
# DrCr: Web-based double-entry bookkeeping framework
|
|
# Copyright (C) 2022 Lee Yingtong Li (RunasSudo)
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU Affero General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU Affero General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Affero General Public License
|
|
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
from sqlalchemy import create_engine
|
|
from sqlalchemy.orm import scoped_session, sessionmaker
|
|
from sqlalchemy.ext.declarative import declarative_base
|
|
|
|
engine = create_engine('sqlite:///drcr.db')
|
|
db_session = scoped_session(sessionmaker(autocommit=False, autoflush=False, bind=engine))
|
|
Base = declarative_base()
|
|
Base.query = db_session.query_property()
|
|
|
|
def init_db():
|
|
from .general_journal import models
|
|
from .statements import models
|
|
|
|
Base.metadata.create_all(bind=engine)
|