通过安装,配置Rails-PostgreSQL环境
环境
$ psql --version
psql (PostgreSQL) 9.3.10
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.3 LTS"
$ bundle list
* pg (0.18.3)
* rails (4.2.4)
...
PostgreSQL的设置
$ sudo apt-get install postgresql
# installするとPostgreSQLのサービスがバックで走る
$ /etc/init.d/postgresql status
9.3/main (port 5432): online
# PostgreSQLのroot userであるpostgresユーザとしてpsqlを実行する
$ sudo -u postgres psql
我們現在要準備設定一個Rails項目的角色。
postgres=# create role projectname with createdb login password 'password';
postgres=# \q
Rails的配置
$ rails new projectname -TB --database=postgresql
$ cd projectname
由于执行bundle install会导致pg出现错误,因此需要先安装相关依赖关系。
$ sudo apt-get install libpq-dev
安装所需的gem。
source 'https://rubygems.org'
gem 'rails', '4.2.4'
gem 'pg'
# scaffold確認用に必要
gem 'therubyracer', platforms: :ruby
gem 'jquery-rails'
gem 'turbolinks'
$ bundle install --path vendor/bundle
为了将Rails与先前创建的PostgreSQL角色关联起来,您需要编辑config/database.yml。
default:
adapter: postgresql
encoding: unicode
pool: 5
# 以下の3つを追加
username: projectname
password: password
# RailsサーバとPostgreSQLサーバが同じ場合
host: localhost
development:
<<: *default
database: projectname_development
test:
<<: *default
database: projectname_test
运行 rake db:setup 会生成所需的 db/schema.rb 文件。
$ rake db:migrate
接下来,我们将创建名为projectname_development和projectname_test的数据库。
$ rake db:setup
让我们尝试使用数据库吧。
$ rails g scaffold Post title:string body:text
$ rake db:migrate
$ rails s
请打开浏览器并访问 localhost:3000/posts,以确认功能是否正常,因为准备工作已完成。
请提供以下内容的中文本地化版本:
参考