Если я правильно понимаю peewee doc (http://docs.peewee -orm.com / ru / latest / peewee / database.html ), они используют API, предоставленный python, для подключения к sqlite.
Это означает, что вы должны иметь дело с этим API (https://docs.python.org/2/library/sqlite3.html#sqlite3.connect), и метод подключения всегда создает базу данных заранее.
Я, однако, считаю, что вы можете передать пользовательский класс Connection этому методу (фабрика параметров), вы можете определить свое поведение в этом пользовательском классе.
import os
from sqlite3 import Connection
from peewee import *
class CustomConnection(Connection):
def __init__(self, dbname, *args, **kwargs):
# Check if db already exists or not
if not os.path.exists(dbname):
raise ValueError('DB {} does not exist'.format(dbname))
super(CustomConnection, self).__init__(dbname, *args, **kwargs)
db = SqliteDatabase('mydatabase', factory=CustomConnection)