通过安装,配置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,以确认功能是否正常,因为准备工作已完成。

请提供以下内容的中文本地化版本:

参考

广告
将在 10 秒后关闭
bannerAds