将 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 TABLEs。 @AffableGeek 您可以在事后添加南。你会很高兴你做到了。 这是计划,在研究之后 - 但我也有一个我必须立即完成的截止日期。所以,我立即做了 ALTER TABLE,我今天正在学习南方。

以上是关于将 Django 模型部署到网络服务器后,如何对其进行更改?的主要内容,如果未能解决你的问题,请参考以下文章

在继续开发的同时在本地网络中部署Django

如何将Django项目部署到阿里云服务器上

如何在服务器上部署Django项目并使其在后台一直运行

如何在 Django 中向模型添加临时字段?

Django Heroku 如何返回开发服务器进行更多更改

如何将我的 Vue js SPA 部署到我的 Django 服务器中?