【发布时间】:2013-07-30 16:11:50
【问题描述】:
我将我的 Django 项目部署到 Heroku。现在,我想将另一个应用程序添加到我现有的项目中。如何在不创建新数据库的情况下做到这一点 - 我的意思是我现有的数据库不应该被删除?
【问题讨论】:
我将我的 Django 项目部署到 Heroku。现在,我想将另一个应用程序添加到我现有的项目中。如何在不创建新数据库的情况下做到这一点 - 我的意思是我现有的数据库不应该被删除?
【问题讨论】:
您可以在使用模型定义推送新应用后运行 heroku run python manage.py syncdb。这不会删除您的数据库。不过考虑安装 South。
【讨论】:
如果您要安装的应用在 Python Package Index 上可用,您可以在 requirements.txt 文件中添加添加的名称和要使用的版本,例如:
app_name==1.2.3
然后,在您的 project/settings.py 文件中,将 app_name 作为字符串添加到 INSTALLED_APPS 列表中。例如,如果 INSTALLED_APPS 看起来像这样:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
)
然后添加新应用即可:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'package_name',
)
您可以按照与上述相同的步骤进行操作,但不要添加app_name==1.2.3,而是添加:
git+git://github.com/owner_name/app_name#egg=app_name
适当地替换 owner_name 和 app_name。这会克隆您指向的存储库,因此请确保它是公共的,或者如果它是私有的,则您具有 ssh 访问权限。
【讨论】: