首页 > 解决方案 > Rails - 将 Postgres 生产数据库导入本地开发数据库

问题描述

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

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

看起来生产数据库的名称是petdoctors_prod,我的本地开发数据库被称为petdoctors_development. 是否可以将 prod DB 导入到 dev 中?

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

标签: ruby-on-railspostgresql

解决方案


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

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

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


推荐阅读