将本地 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的主要内容,如果未能解决你的问题,请参考以下文章

将 Rails 应用程序推送到 Heroku 时出现啥错误

将应用程序部署到 Heroku 后无法推送到 Github

将 HTML 表格标签推送到数据下方 - Rails

使用 MacOSX 将 Rails 应用程序推送到 AWS Elastic Beanstalk

尝试将本地数据库推送到 Heroku 后出现“ActionView::Template::Error (Unknown primary key for table”

安装sqlite3时发生将rails应用程序推送到Heroku错误,并且Bundler无法继续[重复]