Ao invés de usar:
cur.execute('CREATE DATABASE ' + dbname)
Eu criei um banco de dados vazio com migrações iniciais e copiei a cada vez usando o comando:
cur.execute('CREATE DATABASE {} WITH TEMPLATE created_db'.format(dbname))
Agora não há necessidade de migrações dinâmicas para o banco de dados recém-criado.