更新在pythonanywhere托管的Django应用程序

时间:2016-02-23 16:07:47

标签: django django-deployment

您好我在pythonanywhere使用github托管了一些应用程序,现在我在本地计算机上对应用程序进行了一些改进,但我不知道如何更新影响数据库的在线应用程序。

提前致谢?

1 个答案:

答案 0 :(得分:2)

你的意思是你已经对本地PC上的数据库进行了更改(新的或修改过的 models.py ),并且你想知道如何将它们应用到PythonAnywhere上的现有数据库而不会破坏现有数据?

这取决于你正在使用的django版本。对于1.6及更早版本,您将使用名为south的工具。对于更新的版本,1.7及更高版本,您将使用built-in migrations framework

如果您正在使用django-migrations,那么它应该非常简单并且“正常工作”。将您的最新代码下载到PythonAnywhere,激活您的virtualenv ,然后运行

var obj = jQuery.parseJSON( data.Body ); 
alert( obj.text ); 

如果你需要使用South,那就有点复杂了。你必须做这样的事情:

  1. 返回与当前位于pythonanywhere
  2. 上的代码匹配的提交
  3. 对于您的每个应用,请运行python manage.py migrate
  4. 现在查看最新版本的代码
  5. 对于您的每个应用,请运行python manage.py schemamigration appname --initial
  6. 将新迁移文件提交到您的存储库
  7. 下载PythonAnywhere上的最新代码
  8. 对于您的每个应用,请运行python manage.py schemamigration appname --auto
  9. 然后运行python manage.py mygrate appname --fake 001
  10. 更多信息in the south docs。这是非常棘手的事情,所以先备份你的数据库!

    但是希望你使用现代版的django,你可以通过简单的方式实现:)