我是Django的新手,它是在Heroku上部署的。
我已在应用服务器上启动并运行Postgres数据库。我的应用程序要求需要我在现有数据库中添加一个新列,其中包含大量数据,我不能丢失。
环顾四周,我找到了Mike Ball here描述的解决方案。 我有以下问题:
南方到底是什么? (我阅读了文档,但没有明确的想法)
它能帮我保存并移动现有数据库中的现有数据吗?
作为一个完整的新手,上面的链接是一种移动数据的简单方法吗?
另外,一般情况下,如果您能为我提供一般DBMS概念的良好指南,我将非常感激。
谢谢!
答案 0 :(得分:0)
南方究竟是什么? (我阅读了文档,但没有明确的想法)
south会在数据库架构及时更改时迁移它。架构必须以django models.py文件开头。如果您使用' manage.py syncdb ...'为了创建你的数据库,你可以使用south。
它能帮我保存并移动当前数据库中的现有数据吗?
只要您使用syncdb使用django中的models.py文件创建数据库,则south可以更改该数据库并添加新列。基本上,south会记录您对迁移文件中的models.py文件所做的更改,然后您可以将这些迁移文件应用到数据库中,从而非破坏性地更新它。
作为一个完整的新手,上面的链接是一种移动数据的简单方法吗?
南方没有移动您的数据。它允许您在不破坏数据库的情况下将新列添加到现有数据库。要移动数据,您需要将数据备份到文件,然后将文件复制到另一台计算机,然后还原备份。这不是南方所做的。