将本地 Rails 应用程序中的数据推送到 Elastic Beanstalk
Posted
技术标签:
【中文标题】将本地 Rails 应用程序中的数据推送到 Elastic Beanstalk【英文标题】:Pushing Data from Local Rails App up to Elastic Beanstalk 【发布时间】:2014-12-05 21:08:36 【问题描述】:我在本地 mac osx 环境中有一个可运行的 rails 应用程序,使用本地 postgres 数据库。
我已经设法使用 puma 和 mysql 建立了一个示例应用程序并在 EBS 上工作。我知道将代码向上推送是使用“git aws.push”的问题-但是我需要做些什么才能将数据推送到 EBS 环境中(我很高兴在 EBS 上使用 PG 或 mysql-但是我猜 PG 是更好的选择,因为这是本地应用程序使用的 - 如果是这样,我需要如何在 EBS 上为 PG 配置我的 database.yml?
简而言之:
-
如何在 EBS 上定义和创建数据库?
如何在 EBS 环境中执行 rake db:migrate 的等效操作?
如何将表中的数据推送到 EBS?
【问题讨论】:
【参考方案1】:我无法回答您关于在 EBS 上设置数据库的问题,但您不想尝试直接推送您的数据库文件。如果您想在您的 rails 应用程序数据库中填充一些数据,您应该将其作为应用程序的一部分。 This question discusses various ways to seed a database with rails.
如果由于某种原因这不是一个选项,您可能希望使用 pg_dump,上传文件,如果您在 EBS 端使用 postgres,则使用 pg_restore。如果您在 EBS 端使用 mysql,则需要将 pg_dump 转换为 sql 格式,并使用 mysql 提供的任何机制来导入该 SQL。
【讨论】:
以上是关于将本地 Rails 应用程序中的数据推送到 Elastic Beanstalk的主要内容,如果未能解决你的问题,请参考以下文章
使用 MacOSX 将 Rails 应用程序推送到 AWS Elastic Beanstalk
尝试将本地数据库推送到 Heroku 后出现“ActionView::Template::Error (Unknown primary key for table”