将 Django 模型部署到网络服务器后,如何对其进行更改?
Posted
技术标签:
【中文标题】将 Django 模型部署到网络服务器后,如何对其进行更改?【英文标题】:How do I make changes to a Django Model after it has been deployed to a webserver? 【发布时间】:2013-12-06 02:51:12 【问题描述】:在开发中,每当我对 Django 应用程序中的底层模型进行更改时,我习惯于:
-
停止开发服务器
在 mysql 中,删除现有数据库
运行 $>python manage.py syncdb
通过运行 $>python manage.py runserver 重新启动开发服务器
但是,一旦使用 WSGI 和 Apache 进行部署,我就没有运行开发服务器。因此,我不知道如何停止服务器,只是运行:
$>python manage.py syncdb
似乎没有更新实例化模型的底层 MySql 数据库。那么,除了拆除整个实例之外,我该如何更新我的数据库?
注意:我实现了这个之前我了解了使用“南”的数据库迁移,所以我正在查看原始 Django,我怀疑。
【问题讨论】:
【参考方案1】:Django 没有内置的迁移框架(还没有!),所以没有“用于迁移的原始 django”之类的东西。
因此,您要么手动执行此操作(使用 SQL 更改表),要么使用 south。
现在,我的建议是使用south
。
【讨论】:
手动,你的意思是改变Mysql中的TABLE吗?如果是这样,我是否还需要以某种方式停止并重新启动服务? @AffableGeek 是的,这就是我的意思,是的。有关第二个问题的答案,请阅读"Storage, Performance, and Concurrency considerations" of this page from the MySQL documentation。另外,请注意south
实际上会向您的数据库发出ALTER TABLE
s。
@AffableGeek 您可以在事后添加南。你会很高兴你做到了。
这是计划,在研究之后 - 但我也有一个我必须立即完成的截止日期。所以,我立即做了 ALTER TABLE,我今天正在学习南方。以上是关于将 Django 模型部署到网络服务器后,如何对其进行更改?的主要内容,如果未能解决你的问题,请参考以下文章