2

如何在 web2py 中重命名数据库表?如果没有直接的方法,那么最好的解决方法是什么?我发现的只是这个线程http://groups.google.com/group/web2py/browse_thread/thread/ef724508324347e2/7966a423c293bdec web2py 的创建者说他没有简单的方法。

4

1 回答 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 回答