【问题标题】:Rails + Angular + sqlite3 DeploymentRails + Angular + sqlite3 部署
【发布时间】:2015-08-09 03:21:54
【问题描述】:

我是这方面的初学者,目前正在寻找免费的虚拟主机,并且有几个问题。

  • Heroku 是否能够处理所有这些:AngularJSRuby on Railssqlite3
  • 还有哪些好的免费网络主机?这仅适用于个人投资组合/博客。

我在互联网上看到了几个教程,我想拥有一个最简单的。

如果有帮助,我的根/主页位于 app>views>application>application.html.erb 并且我没有 index.html。我也在 Windows 8.1 上开发。

提前致谢!

【问题讨论】:

  • heroku 不支持 sqlite

标签: ruby-on-rails ruby angularjs heroku sqlite


【解决方案1】:

如果您使用 Rails 将 API 提供给应用中由 Angular 提供支持的前端,那么 Heroku 托管您的应用应该不会有问题。这是 Heroku 上托管的 Angular/Rails 应用程序的 live example

但是,Heroku 不支持 SQLite。

虽然易于使用,但 SQLite 并不打算用作生产级数据库。相反,Heroku 将生产级 PostgreSQL 数据库作为服务提供。

- SQLite on Heroku

上面的文章向您展示了如何配置您的应用,从使用 SQLite 到 Heroku 支持的 Postgres。


注意:始终为您的开发和生产环境设置相同的数据库是一个好主意。但是,如果您刚开始构建一个非常简单的应用程序,并且想快速开始使用 Heroku,下面还有另一个选择:

如果您想继续在开发中使用 SQLite3,可以将您的 sqlite3 gem 留在您的 :development 组中,并将 pg gem 添加到应用程序 Gemfile 中的 :production 组中:

group :development do
  gem 'sqlite3'
  ...
end

group :production do 
  gem 'pg'
  gem 'rails_12factor'
  ...
end

然后相应地设置您的config/database.yml 文件(用于开发/测试的sqlite,用于生产的postgres):

development:
  adapter: sqlite3
  database: db/development.sqlite3
  pool: 5
  timeout: 5000

production:
  adapter: postgres
  pool: 5
  timeout: 5000

如果您只想制作一个简单的应用程序托管在 Heroku 上,则无需在本地安装/配置 Postgres。

希望这有帮助!

【讨论】:

  • 酷。但是我现在可以从 SQLite3 切换到 PostgreSQL 吗?我里面还没有数据。只有几张桌子我总是清理。我正在使用 RubyMine 并将我的应用程序初始化为具有 SQLite3。
  • 绝对可以切换。您必须在本地机器上安装 PostgreSQL 并修改 config/database.yml 适配器以使用 postgres。如果你想继续使用 SQLite,我已经用另一个选项更新了我的答案。
  • 不,伙计。现在将进行切换,以便在开发和生产中我将拥有一个通用数据库。我将按照您在切换时提供的链接 (devcenter.heroku.com/articles/sqlite3) 上的说明进行操作。真的很有帮助!谢谢!
  • 是的,让您的开发/生产环境尽可能接近是一个好主意。很高兴它有帮助!
猜你喜欢
  • 2016-09-24
  • 2012-09-21
  • 1970-01-01
  • 2012-10-30
  • 1970-01-01
  • 1970-01-01
  • 2012-10-12
  • 2013-10-23
  • 1970-01-01
相关资源
最近更新 更多