Rails-将Postgres生产数据库导入本地开发数据库

时间:2019-04-09 09:05:15

标签: ruby-on-rails postgresql

我有一个来自生产数据库的名为dump.sql的数据库转储,当我尝试将其导入到本地开发数据库时,我得到一个错误

ERROR:  role "petdoctors_prod" does not exist
\connect: FATAL:  database "petdoctors_prod" does not exist

看起来生产数据库的名称为petdoctors_prod,而我的本地开发数据库称为petdoctors_development。可以将prod DB导入到dev吗?

从prod中转储数据库的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

以下步骤应有助于将dump.sql导入本地计算机:

  1. 在本地计算机上运行rake db:drop,以删除现有数据库
  2. 运行rake db:create。这将根据环境创建您的database.yml文件中提到的数据库。在这种情况下,它将创建一个名为petdoctors_development
  3. 的数据库。
  4. 将转储导入petdoctors_development。此步骤的语法会因所使用的数据库而异。例如,要在PostgreSQL中导入转储,我们使用psql <db_name> < <Path to dump file>
  5. 运行rake db:migrate,以便运行应用程序中的所有迁移

发布此消息后,该应用将在开发环境中运行,其数据与从生产中获取的转储数据相同。