【问题标题】:How to load .sql file with manage.py如何使用 manage.py 加载 .sql 文件
【发布时间】:2018-07-22 02:12:26
【问题描述】:

我的一个生产服务器有一个 .sql 文件,现在正尝试将它加载到另一个生产服务器的数据库中。我尝试了 python manage.py loaddata,但它给了我一个错误

CommandError: Problem installing fixture 'social': sql is not a known serialization format.

如何使用 manage.py 将我的数据从 .sql 文件加载到 postgres 中?

【问题讨论】:

  • 你没有。您为此使用 psql
  • 如何将已经存在的数据库添加到 psql,似乎没有用于 CREATE DATABASE 的参数标志来指定主机、用户名、密码、端口等内容。
  • 请发表一个不同的问题。

标签: sql django postgresql manage.py


【解决方案1】:

你可以试试

cat filename.sql | python manage.py dbshell

【讨论】:

  • 我不知道为什么这会得到更多的支持。这确实回答了 og 海报的问题。我了解您想在可能的情况下使用psql 来导入.sql 文件。但是我最近遇到了一种情况,这比@leon-chew 描述的那样做更多的工作。 psql 不在同一台服务器上。我要么必须安装它,要么将rsync 文件导入数据库,然后使用psql 导入它。或者只是使用这种方法。
  • 简单流畅的回答...谢谢
  • 完美!这按预期工作!
【解决方案2】:

根据initial data 上的文档,Django 管理不适用于 SQL

fixture 是 Django 知道如何导入的数据集合 一个数据库。创建夹具的最直接方法如果 你已经有一些数据是使用manage.py dumpdata 命令

fixture 可以写成 JSON、XMLYAML(安装了 PyYAML)文档。

加载数据很简单:只需调用manage.py loaddata <fixturename>, 您创建的夹具文件的名称在哪里

如果您仍想使用 SQL 加载数据,您可以使用 data migration

【讨论】:

    【解决方案3】:

    您不能使用 django 直接导入 sql 数据转储。您应该为此使用 pg 的内部数据库导入工具。

    【讨论】:

      猜你喜欢
      • 2021-10-13
      • 2016-10-06
      • 2021-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-10
      • 2017-12-09
      相关资源
      最近更新 更多