当我使用注册帐户Learning Log登录在Heroku上部署的项目时,它刚刚开始,没有我在本地项目中输入的任何数据。
我知道Heroku使用Postgres,而我的本地数据库是python提供的sqlite。
此外,我在教程之后忽略了git存储库中的*.sqlite3
。(当撤消忽略时,它不起作用)
我更喜欢在本地工作,将本地数据推送到远程并将远程数据提取到本地。
我如何将远程与本地同步?
答案 0 :(得分:1)
您可以在本地runserver中连接服务器的数据库。
只需更改服务器ip的数据库设置即可。 (首先你必须在你的本地IP中打开5432端口)
如下所示
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'your_server_db_name',
'USER': 'your_server_user',
'PASSWORD': 'your_server_db_pw',
'HOST': 'your_server_ip',
'PORT': '5432',
}
}
然后db同步。但是,我不推荐这种方式。无论何时迁移/或做某事与db有关,都必须崩溃,因为你无法修改代码。
因此,如果您想从真正的数据库中获得更多活动数据库,只需使用pg_dump
转储sql并将其添加到本地数据库。