mirror of
https://github.com/aljazceru/CTFd.git
synced 2025-12-17 05:54:19 +01:00
Clear caches after populate and enable foreign keys in SQLite
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user