如何在 web2py 中重命名数据库表?如果没有直接的方法,那么最好的解决方法是什么?我发现的只是这个线程http://groups.google.com/group/web2py/browse_thread/thread/ef724508324347e2/7966a423c293bdec web2py 的创建者说他没有简单的方法。
问问题
672 次
1 回答
1
在运行 web2py 时更改数据库架构
db.executesql('ALTER TABLE old_name RENAME TO new_name;')
这不会更改您的代码!只有您可以更改您的代码。
所以,如果你只这样做一次,比如说你有一个丑陋或模棱两可的表名并且想要重构你的代码,那么最好不要使用 web2py 来更改数据库模式中的表名。这是我将如何做到的。
停止应用程序
使用 sqlite3 控制台程序或您使用的任何数据库管理程序重命名 db 模式中的表。我想这可能是你真正的问题,因为你习惯于使用 web2py 作为你的数据库管理程序。好吧,我想你将不得不学习如何使用 sqlite3 控制台控制台程序。
更改模型中的代码
重新启动应用程序。
但是,如果你真的坚持只使用 web2py 来管理你的数据库,那么这样的事情应该可以工作:
创建一个新的控制器,比如 'table_rename' 添加行
db.executesql('ALTER TABLE old_name 重命名为 new_name;')
到控制器
浏览到 application/table_rename
停止应用程序
更改您的型号代码
删除 table_rename
重新启动应用程序。
于 2011-09-27T19:23:35.553 回答