From 9ef27ae54b81cd9ff0a35088318057f6a047ab4c Mon Sep 17 00:00:00 2001 From: Kevin Chung Date: Sat, 12 Mar 2016 15:41:06 -0500 Subject: [PATCH] Adding sqlalchemy-utils as a dependency in order to create databases automatically --- CTFd/__init__.py | 5 +++++ requirements.txt | 1 + 2 files changed, 6 insertions(+) diff --git a/CTFd/__init__.py b/CTFd/__init__.py index b30af101..c925e83f 100644 --- a/CTFd/__init__.py +++ b/CTFd/__init__.py @@ -2,6 +2,7 @@ from flask import Flask, render_template, request, redirect, abort, session, jso from flask.ext.sqlalchemy import SQLAlchemy from logging.handlers import RotatingFileHandler from flask.ext.session import Session +from sqlalchemy_utils import database_exists, create_database import os import sqlalchemy @@ -13,6 +14,10 @@ def create_app(config='CTFd.config'): from CTFd.models import db, Teams, Solves, Challenges, WrongKeys, Keys, Tags, Files, Tracking + ## sqlite database creation is relative to the script which causes issues with serve.py + if not database_exists(app.config['SQLALCHEMY_DATABASE_URI']) and not app.config['SQLALCHEMY_DATABASE_URI'].startswith('sqlite'): + create_database(app.config['SQLALCHEMY_DATABASE_URI']) + db.init_app(app) db.create_all() diff --git a/requirements.txt b/requirements.txt index 2c0b1a9e..40c92b90 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,6 +2,7 @@ Flask Flask-SQLAlchemy Flask-Session SQLAlchemy +sqlalchemy-utils passlib bcrypt six