我有一个开发版本和一个生产版本在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
他们中有不少,但正如我所说,一切似乎都在那里。这样做对吗?
编辑:我在生产机器中有包含信息的数据库,我不想在导入之前截断表。
这是我使用的脚本:
pg_dump -d DATABASE_NAME -U postgres --format plain --inserts > /FILE.sql
编辑:正如您在评论中所说,您不希望在导入之前截断表,您不能将这种类型的导入到生产数据库中。我建议在导入开发数据库转储之前清空生产数据库。