Ruby on Rails 使用mysql数据库 use local and remote mysql in development production environments in Ruby o

原创 2015年07月07日 22:39:45
将Ruby on Rails 使用的数据库由默认的SQLite改成Mysql,并且配置development为本地mysql,production为远程mysql。
1.修改config/database.yml
$ cd config
$ cp -p database.yml database.yml.old
$ vim database.yml

将当前内容替换为以下内容。dabase,username,password,host依自己的情况而定。如果username没有password,则留空白。database指定的数据库名会在bundle install的时候被安装在相应的host上。

#use localhost mysql
development:
  adapter: mysql2
  encoding: utf8
  database: demo_app_dev_db
  pool: 5
  username: root
  password:
  host: localhost

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: mysql2
  encoding: utf8
  database: demo_app_test_db
  pool: 5
  username: root
  password:
  host: localhost

#use remote host mysql
production:
  adapter: mysql2
  encoding: utf8
  database: demo_app_prod_db
  pool: 5
  username: yangpeng
  password: ***
  host: ***.***.***.***

2.配置Gemfile
添加 gem 'mysql2',完整配置如下:

source 'https://rubygems.org'
ruby '2.0.0'
#ruby-gemset=railstutorial_rails_4_0

gem 'rails', '4.0.5'
gem 'mysql2'

group :development do
end

gem 'sass-rails', '4.0.5'
gem 'uglifier', '2.1.1'
gem 'coffee-rails', '4.0.1'
gem 'jquery-rails', '3.0.4'
gem 'turbolinks', '1.1.1'
gem 'jbuilder', '1.0.2'

group :test do
  gem 'sdoc', '0.3.20', require: false
end

group :production do
  #gem 'pg', '0.15.1'
  gem 'rails_12factor', '0.0.2'
end

3.在development环境下测试配置是否成功。
$ bundle install --without production
$ bundle update
$ bundle install
$ rake db:create
$ rake db:migrate
执行后进入mysql查看development中配置的数据库demo_app_dev_db是否生成,以及里面的table是否生成。
$ rails s
修改网页上的数据后,查看对应的数据库中数据是否改变。


注意,执行bundle install --without production后,会在.bundle/config里自动生成配置文件,这样第二次执行bundle install时候不指定--without production也和

bundle install --without production效果一样,所以在执行步骤4前,应该先修改该config文件,将里面的BUNDLE_WITHOUT: production删掉。


4.在production环境下测试配置是否成功。如果遇到问题可以参考我的另一篇博客。配置远程连接mysql数据库 Connect to remote mysql database
$ bundle install --without development test
$ bundle update
$ bundle install
$ rake db:create RAILS_ENV=production
$ rake db:migrate RAILS_ENV=production
执行后进入mysql查看production中配置的数据库demo_app_prod_db是否生成,以及里面的table是否生成。
$ rails s -eproduction
修改网页上的数据后,查看对应的数据库中数据是否改变。

相关文章推荐

ruby on rails操作mysql数据库

一、插入:     1、new()方法     a = Category.new(:name => 'Ruby', :position => 1)     a.save     save 还有相同方法...

How To Use MySQL with Your Ruby on Rails Application on Ubuntu 14.04

Introduction Ruby on Rails uses sqlite3 as its default database, which works great in many cases, b...

How to install Ruby on Rails in Ubuntu 11.10

by Ramesh Jha on 2011/10/27   http://blog.sudobits.com/2011/10/27/how-to-install-ruby-on-rails-in-...

Learn Ruby On Rails In 4 Days

  • 2007年08月04日 08:37
  • 727KB
  • 下载

win7下安装ruby on rails + mysql5.1 + cassandra

1,安装apache2.2,正常安装就好,没什么特别需要注意的地方。2,从官方下载ruby的exe格式安装文件,安装到磁盘,不要安装到program files文件夹下,因为有个空格,会有问题。最好放...

Ruby on Rails + MySQL在windows64位系统上的配置

我给出我pei'zhi'hao'de 一、RoR+MySQL环境配置: 1.系统与软件环境: OS:windows 7 ultimate64 bit Ruby:version 1.9.3 R...

Ubuntu 12.04 Ruby on Rails + MYSQL 配置

原文地址:http://blog.csdn.net/liu__shu/article/details/9923065 省的找了 因为我折腾了好久,现在记录下我配置的过程 ...

ruby on rails 4 中利用 remote:true 实现 ajax ,小记

_form.html.erb true do |f| %> postcontroller.rb ...
  • beslow
  • beslow
  • 2014年04月01日 12:50
  • 3263

Ruby on Rails,使用关系数据库简介

http://blog.csdn.net/abbuggy/article/details/7643673 之前我们已经成功将web应用请求响应的主流程:从浏览器到控制器-从控制器到视图-从视图到...
  • ABBuggy
  • ABBuggy
  • 2012年06月08日 00:13
  • 4376

Ruby on Rails,rake工具使用和数据库migrations迁移的概念

欢迎来我的博客http://blog.csdn.net/abbuggy/article/details/7648920 《Ruby on Rails,一个简单的CMS系统,创建应用骨架并与数据库...
  • ABBuggy
  • ABBuggy
  • 2012年06月09日 22:41
  • 6127
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Ruby on Rails 使用mysql数据库 use local and remote mysql in development production environments in Ruby o
举报原因:
原因补充:

(最多只允许输入30个字)