【问题标题】:Should I have my Postgres directory right next to my project folder? If so, how?我应该把我的 Postgres 目录放在我的项目文件夹旁边吗?如果是这样,怎么做?
【发布时间】:2012-09-23 10:49:01
【问题描述】:

我正在尝试使用 Heroku 开发一个 Django 网站。以前没有使用数据库的经验(除了教程中的 sqlite3 之外),在我看来,具有以下文件结构是个好主意:

Projects
'-MySite
  |-MySite
  '-MyDB

我发现很难弄清楚该怎么做,psql 命令更喜欢将数据库放在某个不起眼的目录中。也许这不是一个好主意?

最终我希望能够在本地测试和开发我的网站(暂时只是一个博客,我还在学习)(即添加帖子,使用 CSS)并与Heroku 存储库,但我也希望能够偶尔通过网站本身添加帖子。

【问题讨论】:

    标签: django postgresql


    【解决方案1】:

    底层数据文件 (MyDb) 与您的项目文件无关,应该在您的项目下。

    编辑 添加了两种将本地数据库与 Heroku 服务器上的数据库同步的方法

    1) 导出-导入

    这是最简单的方法,不时执行以下步骤:

    • 使用pg_dump 实用程序在 Heroku 服务器上进行导出
    • 下载转储文件
    • 导入 使用psql 实用程序将转储导入本地数据库

    2) 复制

    让本地数据库始终保持同步的更复杂的方法是复制。它用于专业环境,目前对您来说可能是一种矫枉过正。你可以在这里阅读更多信息:http://www.postgresql.org/docs/9.1/static/high-availability.html

    【讨论】:

    • 你能解释一下为什么,或者指出我的资源吗?我使用 GUI 来导航我的第一个 sqlite3 数据库,它似乎非常“拥有”项目,所以将它放在项目目录中是有意义的(尽管 .gitignore'd)。
    • 所以,澄清一下,我不会在任何时候将数据库上传到 Heroku。我只想让 Heroku 中的那个始终与我笔记本电脑中的那个相同。似乎没有人有这样做的指示这一事实表明这不是一个好主意,但要找到有关它为什么不好以及该怎么做的信息也非常困难。
    • 我明白了。 sqlite 则不同,因为在这种情况下,整个数据库只是一个文件。当使用 PostgreSQL 或 MySQL 或类似的数据库时,同步数据库比复制文件要复杂一些。查看我的编辑
    猜你喜欢
    • 2020-08-21
    • 1970-01-01
    • 2011-12-26
    • 2012-03-29
    • 1970-01-01
    • 2011-11-23
    • 2017-09-18
    • 2018-11-18
    • 1970-01-01
    相关资源
    最近更新 更多