2

我有一个在 django 中运行的开发版本和一个生产版本。

我最近开始用大量数据填充它,发现 django loaddata 在将所有内容添加到数据库之前尝试将所有内容加载到内存中,而我的文件太大了。

将数据从开发机器推送到生产环境的正确方法是什么?

我做了...

pg_dump -U user -W db ./filename.sql

然后在生产服务器上我做了......

psql dbname < filename.sql

看起来它有效,所有数据都在那里,但它出现了一些错误,例如

relation xxx already exists
constrain xxx for relation xxx already exists

其中有很多,但就像我说的那样,一切似乎都在那里。这是正确的方法吗?

编辑:我在生产机器中有包含信息的数据库,我不想在导入前截断表。

4

1 回答 1

1

这是我使用的脚本:

 pg_dump -d DATABASE_NAME -U postgres --format plain --inserts > /FILE.sql

编辑:正如您在评论中所说,您不想在导入前截断表,您不能将这种类型的导入到您的生产数据库中。我建议在导入开发数据库转储之前清空您的生产数据库。

于 2015-12-04T03:53:58.890 回答