【发布时间】:2020-12-27 02:55:01
【问题描述】:
一般情况下,你运行mysql -h,如果能以当前用户连接db,你就进去了。然后就可以选择数据库等操作了。
现在我们转到 django 上下文。
我们使用 connection.cursor() 但它默认为您在设置中指定的数据库。碰巧它可能会或可能尚未创建。但是你知道 db 在那里,你想执行一些检查等等。
怎么做?
【问题讨论】:
一般情况下,你运行mysql -h,如果能以当前用户连接db,你就进去了。然后就可以选择数据库等操作了。
现在我们转到 django 上下文。
我们使用 connection.cursor() 但它默认为您在设置中指定的数据库。碰巧它可能会或可能尚未创建。但是你知道 db 在那里,你想执行一些检查等等。
怎么做?
【问题讨论】:
我深入研究了 Django,居然找到了解决方案:
with connection._nodb_connection.cursor() as cursor:
cursor.execute("SHOW tables;")
rows = cursor.fetchall()
给你!
【讨论】: