def handle(self, *args, **options):
try:
connection = connections[options['database']]
cursor = connection.cursor()
database_settings = settings.DATABASES[options['database']]
except ConnectionDoesNotExist:
raise CommandError('Database "%s" does not exist in settings' % options['database'])
if connection.vendor == 'sqlite':
print("Deleting database %s" % database_settings['NAME'])
os.remove(database_settings['NAME'])
elif connection.vendor == 'mysql':
print("Dropping database %s" % database_settings['NAME'])
cursor.execute("DROP DATABASE `%s`;" % database_settings['NAME'])
print("Creating database %s" % database_settings['NAME'])
cursor.execute("CREATE DATABASE `%s` CHARACTER SET utf8;" % database_settings['NAME'])
# Should fix some "MySQL has gone away issues"
cursor.execute("SET GLOBAL max_allowed_packet=32*1024*1024;")
elif connection.vendor == 'postgresql':
print("Dropping and recreating schema public")
cursor.execute("DROP schema public CASCADE; CREATE schema public")
else:
raise CommandError('Database vendor not supported')
recreate_database.py 文件源码
python
阅读 21
收藏 0
点赞 0
评论 0
评论列表
文章目录