Clear caches after populate and enable foreign keys in SQLite

table-granular-admin-reset
Kevin Chung 2020-04-27 18:33:53 -04:00
parent abcb791b73
commit 6092ed1f31
2 changed files with 16 additions and 0 deletions

View File

@ -181,6 +181,17 @@ def create_app(config="CTFd.config.Config"):
if url.drivername.startswith("sqlite"):
db.create_all()
stamp_latest_revision()
# Enable foreign keys for SQLite
from sqlalchemy.engine import Engine
from sqlalchemy import event
@event.listens_for(Engine, "connect")
def set_sqlite_pragma(dbapi_connection, connection_record):
cursor = dbapi_connection.cursor()
cursor.execute("PRAGMA foreign_keys=ON")
cursor.close()
else:
# This creates tables instead of db.create_all()
# Allows migrations to happen properly

View File

@ -7,6 +7,7 @@ import random
import argparse
from CTFd import create_app
from CTFd.cache import clear_config, clear_standings, clear_pages
from CTFd.models import (
Users,
Teams,
@ -338,3 +339,7 @@ if __name__ == "__main__":
db.session.commit()
db.session.close()
clear_config()
clear_standings()
clear_pages()