将本地数据库与Heroku中的已部署项目同步

时间:2018-05-17 02:30:30

标签: django heroku

当我使用注册帐户Learning Log登录在Heroku上部署的项目时,它刚刚开始,没有我在本地项目中输入的任何数据。

我知道Heroku使用Postgres,而我的本地数据库是python提供的sqlite。

此外,我在教程之后忽略了git存储库中的*.sqlite3。(当撤消忽略时,它不起作用)

我更喜欢在本地工作,将本地数据推送到远程并将远程数据提取到本地。

我如何将远程与本地同步?

1 个答案:

答案 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并将其添加到本地数据库。