【问题标题】:Update Django postgresql database in Digital Ocean Droplet?在 Digital Ocean Droplet 中更新 Django postgresql 数据库?
【发布时间】:2016-06-09 13:44:34
【问题描述】:

这个问题可能与本网站的上下文无关,所以如果是这种情况,请将我重定向到正确的网站。无论如何,我已将 Django 安装在 Digital Ocean Droplet 中,我将使用 FileZilla 的应用程序移至服务器,设置了正确的静态文件夹,除数据库外,一切正常。现在,我在我的计算机上创建了一个 postgresql 数据库并添加了一些数据,但我不知道如何将它们移动到服务器数据库。我对数据库不太了解,我不确定我的数据库在哪里。是否有任何自动数据库部署的方法,或者可能找到它的位置并使用 FileZilla 将其移动到服务器的方法?

【问题讨论】:

  • 本地开发服务器上的 pg_dump 和远程服务器上的 pg_restore(这两个命令在 postgresql 文档中都有很好的解释)
  • 所以它基本上将数据从一个数据库复制到另一个数据库?
  • 不,你必须自己复制 pg_dump 生成的文件 :)
  • 但实际上可以将 pg_dump 和 pg_restore 链接起来,但是让我们把这些复杂的方法留到你更熟悉 postgresql 之前
  • 您不需要为转储和恢复执行此操作。如果您出于其他原因需要它,psql 控制台中的“SHOW data_directory”会显示给您。

标签: django database postgresql digital-ocean


【解决方案1】:

使用SSH 连接到您的Droplet,然后继续postgresql-server 安装。查看install guides 以完成此操作。

您的数据库将位于您的 Droplet 中,然后您将配置 Django settings.py 以连接到位于 127.0.0.1 的本地数据库。

您可以在 DigitalOcean 上查看这个非常好的 guide for Ubuntu。

您所要做的就是配置数据库以与Django 一起使用并迁移您的应用程序。

Django 提供了一种简单的方法来导出/导入数据库数据:

python manage.py dumpdata 将生成一个输出,在 Linux 上只需重定向它> fixture.json。在您的离线安装中执行此操作。

然后,设法将此文件放在您的服务器上,并使用以下命令加载它:python loaddata fixture。这将起作用,因为您不要忘记将两个数据库模式与 migrations 同步。

【讨论】:

  • 我已经安装了postgresql,只是不知道如何与我的离线数据库同步...
  • 谢谢,太好了!但是,将您的输出答案编辑为fixture.json 之类的东西,我无法让您的out.fixture 工作。无论如何,再次感谢!
  • 不客气 :)。抱歉,无法准确提醒文件扩展名 load/dumpdata 正在使用。
猜你喜欢
  • 2018-03-06
  • 2020-10-02
  • 2019-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-23
  • 1970-01-01
相关资源
最近更新 更多