我想在SQLAlchemy中执行“CREATE SCHEMA IF NOT EXISTS”查询.
有没有比这更好的方法:
engine = sqlalchemy.create_engine(connstr)
schema_name = config.get_config_value('db', 'schema_name')
#Create schema; if it already exists, skip this
try:
engine.execute(CreateSchema(schema_name))
except sqlalchemy.exc.ProgrammingError:
pass
我使用的是Python 3.5.
解决方法:
我有同样的问题和答案,我发现,是:
if not engine.dialect.has_schema(engine, schema_name):
engine.execute(sqlalchemy.schema.CreateSchema(schema_name))
我们也可以检查没有引擎实例的架构,但是使用连接
conn = engine.connect()
if conn.dialect.has_schema(conn, schema_name):
标签:python,database,sql,python-3-x,sqlalchemy
来源: https://codeday.me/bug/20190710/1425379.html