博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Rails使用PostgreSQL在Heroku上部署
阅读量:5258 次
发布时间:2019-06-14

本文共 1721 字,大约阅读时间需要 5 分钟。

一. 本地

安装PostgreSQL

Ubuntu安装postgresql,libpg-dev,并自动安装相关依赖库

安装图形化客户端pgadmin3

 

创建用户

$ sudo su postgres

postgres@scige:/home/xxxxxx$ createuser -P sanbaoyuan

这里需要设置密码,不设置密码不能链接成功

 

修改配置文件Gemfile

group :development do

gem 'sqlite3'
end

group :production do

gem 'pg'
end

 

安装依赖包

$ bundle install

 

修改配置文件config/database.yml

production:

  adapter: postgresql
  encoding: unicode
  database: sanbaoyuan_production
  pool: 5
  host: localhost
  username: sanbaoyuan
  password: 123456
  timeout: 5000

 

创建数据库

使用pgadmin3用sanbaoyuan帐号登录,创建sanbaoyuan_production

需要手动创建数据库,Rails不会创建数据库

这里使用postgresql的命令也可以完成

 

迁移production环境数据库

$ rake db:migrate RAILS_ENV=production

 

编译production环境静态文件

修改配置文件config/environments/production.rb

config.serve_static_assets = false --> config.serve_static_assets = true

编译完成后,文件会生成在public/asserts/

$ rake assets:precompile

 

启动production环境服务器

$ rails server -e production

 

二. Heroku

重新clone出代码到部署目录,避免开发时影响线上效果

$ git clone git@github.com:scige/sanbaoyuan.git

$ heroku create sanbaoyuan

$ git push heroku master

访问,服务已经起来了,但是数据库有关的还不能用

 

设置PostgreSQL

获取数据库地址

$ heroku config

DATABASE_URL:                 postgres://XXXXXXXXXX:XXXXXXXXXXXXXXXXXXXX.compute-1.amazonaws.com:5432/XXXXXXX

再次修改配置文件config/database.yml

production:

  adapter: postgresql
  encoding: unicode
  database: postgres://XXXXXXXXXX:XXXXXXXXXXXXXXXXXXXX.compute-1.amazonaws.com:5432/XXXXXXX
  pool: 5
  timeout: 5000

其他的都不需要了,这些要在原来的开发目录里修改,然后提交到git

 

迁移数据库

$ heroku run rake db:migrate

$ heroku run rake db:seed

马上就能看到PostgreSQL已经生效了

 

编译静态文件

$ heroku run rake assets:precompile

这个命令已经整合到 git push heroku master 中了,不需要单独执行

 

Heroku部署完成!

 

PS: 以后每次部署新功能时

$ git pull

$ git push heroku master

重置数据库,seed数据只能这样更新

$ heroku run rake db:reset

转载于:https://www.cnblogs.com/scige/archive/2012/09/16/2687329.html

你可能感兴趣的文章
ROS Kinetic Install on Debian 9
查看>>
在linux下安装并运行scrapyd
查看>>
[PHP源码阅读]array_pop和array_shift函数
查看>>
宏定义 求结构体变量的偏移量
查看>>
Zend Framework相关
查看>>
迷宫问题
查看>>
英语配音片段
查看>>
[原创]前后端交互的方式整理
查看>>
css简介及常用语法
查看>>
git add 的一点说明
查看>>
时间类(时间戳的各种转换成)
查看>>
计算机的启动过程 <orang's 一个操作系统的实现>
查看>>
函数集成redis与Spring集成
查看>>
搜索中文Solr Analysis And Solr Query -- Solr分析以及查询
查看>>
core 文件生成设置详解
查看>>
一种数据展示方式,UI设计新颖,供大家参考(源码部分) (demo已经上传)
查看>>
javascript 概述及基础知识点(变量,常量,运算符,数据类型)
查看>>
DHCPD 原理
查看>>
当HTML5取代Flash,意味着下一代网页的序幕已经拉开
查看>>
将 Photoshop CC 2015.5 英文界面换成中文, 英文与中文界面互换
查看>>