Odpowiedź @javaxa jest prawie poprawna; poniżej jest małe wyjaśnienie:
q = exists(select([("schema_name")]).select_from("information_schema.schemata")
.where("schema_name = 'foo'"))
if not session.query(q).scalar():
session.execute('CREATE SCHEMA foo;')