我想知道web2py是否提供了一种一次性删除所有表格的方法,而不必指定要删除的每个表格?
提前感谢!
提前感谢!
db.tables()
返回数据库 db
中所有表的名称列表。
因此,您可以执行以下操作:
for table_name in db.tables():
db[table_name].drop()
db.commit()
< p > < em >(如果Web2Py没有自动提交您的DAL更改,例如从命令行界面),则最后的db.commit()
仅在必要时才需要。
drop()
,而是使用truncate()
。 - amit kumarfor table_name in db_one.tables():
db_two[table_name].drop()
如果你从一个模型或应用程序复制代码到另一个模型或应用程序,很容易只修改一个数据库引用而忘记修改另一个。如果 db_two 中有与 db_one 中某些表名称匹配的表,你可能会在错误的数据库中删除表。最好编写一个简单的函数,将 db 作为参数传递。
def dropdb(thedb):
for table_name in thedb.tables():
thedb[table_name].drop()
“不要重复自己”。