ruby-on-rails - 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 中?
从产品中转储数据库的最佳方法是什么?
解决方案
以下步骤应有助于将其导入dump.sql
本地计算机:
- 在本地计算机上运行
rake db:drop
以删除现有数据库 - 运行
rake db:create
。这将根据环境创建文件中提到的数据库database.yml
。在这种情况下,它将创建一个名为petdoctors_development
- 将转储导入到
petdoctors_development
. 此步骤的语法会因您使用的数据库而异。例如,要在 PostgreSQL 中导入转储,我们使用psql <db_name> < <Path to dump file>
- Run
rake db:migrate
,以便在您的应用程序中运行所有迁移
发布此消息后,该应用程序将在开发中运行,其数据与从生产中获取的转储数据相同。
推荐阅读
- swift - 将 UITableView 的 PDF 创建到 AirPrint Xcode 和 Swift
- mysql - 更新到 MySQL 5.7 和高磁盘空间消耗
- php - 从 Sphere Loc 和 Radius 获取 Sphere 表面上的随机 XYZ
- bash - 如何通过读取非标准属性文件生成csv文件
- amazon-ec2 - 如何在具有多个节点的数据块集群上运行 Open MPI 程序?
- opentok - 拥有版主令牌的客户如何只能取消发布视频?
- node.js - DeprecationWarning:隐式禁用证书...如何解决?(node.js,快递,海量)
- java - Google Compute Engine 实例设置标签
- python - 一个 if 语句在“或”之后短循环,甚至在检查“和”之前
- java - Maven 在运行“mvn install”时编译行为,后跟“mvn deploy -Dmaven.install.skip=True”