Я думаю, вы, возможно, слишком обдумываете ситуацию. Если вы хотите создать базу данных заново, вы обычно просто вызываете Base.metadata.create_all()
или эквивалентный, и если вы не хотите этого делать, вы не вызываете ее.
Вы можете попробовать вызывать его каждый раз и обрабатывать исключение, если оно идет не так, при условии, что база данных уже настроена.
Или вы можете попробовать запросить определенную таблицу, и если это не удастся, позвоните create_all()
, чтобы все на месте.
Каждая другая часть вашего приложения должна работать одинаково независимо от того, выполняете ли вы создание БД или нет.