如何在web2py中重命名數據庫表?如果沒有直接的方法,那麼做到這一點的最佳解決方法是什麼?我發現的只是這個線程http://groups.google.com/group/web2py/browse_thread/thread/ef724508324347e2/7966a423c293bdec,web2py的創建者說他沒有一個簡單的方法。web2py:如何重命名錶?
2
A
回答
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;')
到控制器
個眉毛應用/ table_rename
停止應用
更改模型代碼
刪除table_rename
重新啓動應用程序。
相關問題
- 1. 如何在Django中重命名錶名?
- 2. 如何重命名工作表
- 3. 如何用dplyr重命名SQLite表?
- 4. 如何在SQLite 3.0中重命名錶?
- 5. 如何重命名SQL Server中的表?
- 6. 如何在Sharepoint中重命名列表
- 7. 重命名錶列
- 8. Datastax重命名錶
- 9. cakephp重命名acl表名
- 10. 如何重命名文件?
- 11. 如何重命名PHPSESSID?
- 12. 如何重命名模型
- 13. 如何重命名JButtons集?
- 14. 如何重命名h2o POJO?
- 15. 如何重命名圖像
- 16. 如何重命名目錄?
- 17. 如何重命名datagridView列
- 18. 如何重命名URL
- 19. MySQL - 如何重命名列?
- 20. 如何重命名文件?
- 21. 如何重命名外鍵?
- 22. 如何重新命名gemset?
- 23. Java:DOM如何從名稱列表中重命名節點名稱
- 24. 有沒有web2py的DAL命名約定列表?
- 25. python文件被重命名,如何獲得'重命名時間'
- 26. 如何重命名爲命令輸出?
- 27. 如何重命名對象名稱?
- 28. 如何重命名ec2實例名稱
- 29. 如何在swift中重命名類名?
- 30. 重命名錶的鬼影
但模型會知道這個嗎?或者我必須單獨更換模型? models.py文件仍然會有一個define_table('old_name'...)。我該先做些什麼? – User
SQL將更改數據庫架構。它不會改變你的代碼!只有你可以改變你的代碼。 – ravenspoint
web2py保留有關sql的元數據..你的答案是否解釋了這個問題?當然,我知道我可以進入數據庫任意重命名的東西..但我想以一種猶太教的方式做到這一點,以便web2py不會混淆和/或損壞。 – User