def main(): SQLALCHEMY_DATABASE_URI = os.environ['SQLALCHEMY_DATABASE_URI'] engine = get_db_engine(SQLALCHEMY_DATABASE_URI) db_session_factory = get_db_session_factory(engine) create_tables(engine) app = create_app(db_session_factory) app.run(port=8000, host="0.0.0.0")
def update_db(self): """ Install or upgrade DB if needed. """ if 'configuration' not in db.get_tables(): # The database has not been created yet, let's do it. from core_modules import install_core_modules db.create_tables([ Configuration, ModuleConfiguration, WidgetConfiguration, Command, Action, CommandAction, ]) Configuration.create( secret=hashlib.sha256(os.urandom(16)).hexdigest(), upgrades=len(upgrades), ) install_core_modules() else: # Upgrade if needed upgrades_done = Configuration.select(Configuration.upgrades).get().upgrades if upgrades_done < len(upgrades): for upgrade in upgrades[upgrades_done:]: upgrade() Configuration.update(upgrades=len(upgrades)).execute()
def setup_database(drop=False): """ setup cache and database """ try: db.connect() except Exception as e: print(e) if drop: db.drop_tables(Relation.__subclasses__()) db.drop_tables(FlatEvent.__subclasses__()) db.drop_tables(ActivityEvent.__subclasses__()) db.create_tables(Relation.__subclasses__()) db.create_tables(FlatEvent.__subclasses__()) db.create_tables(ActivityEvent.__subclasses__())
from jinja2 import escape from functools import wraps import os #for secret key creation and file system exploration import random #for the generate_questions random word generator import json from utils import db from utils import test from utils import config app = Flask(__name__) app.config['TEMPLATES_AUTO_RELOAD'] = True DIR = os.path.dirname(__file__) or '.' DIR += '/' db.use_database(DIR) db.create_tables() config.load_themes(DIR + "data/themes.json") app.secret_key = config.get_secret_key(DIR + "data/secret") #Usage: @valid_session (below the route decorator) #This will redirect to login page if the session expired, or if user is not logged in def valid_session(message="You need to login again", strict=False, redirectForm=""): def decorator(f): @wraps(f) def decorated_function(*args, **kwargs): if "user" not in session or "user_id" not in session: flash(message) return redirect(url_for("login_page", redirect=redirectForm))
from utils import FanInfo, AllFanInfo, db db.create_tables([FanInfo, AllFanInfo]) # LOAD_DATA_SQL = """ # load data local infile '{filename}' # into table faninfo # fields # terminated by ',' # lines # terminated by '\n' # ignore 1 lines # (`fan_id`, `member`, `loyalty`, `first_date`, `last_date`, `theater`, `team`) # """ # FILENAMES = ['faninfo.csv', # 'faninfo2.csv'] # for filename in FILENAMES: # db.execute_sql(LOAD_DATA_SQL.format(filename=filename))
def create_db(): db.create_tables([Article, Link, ArticleIndex], True)
def install(self): super(UsersModule, self).install() db.create_tables([User])
def install(self): super(MoneyModule, self).install() db.create_tables([Money, MoneyConfiguration])