Ruby on Rails - Thiết lập cơ sở dữ liệu
Trước khi bắt đầu với chương này, hãy đảm bảo rằng máy chủ cơ sở dữ liệu của bạn đang hoạt động. Ruby on Rails khuyến nghị tạo ba cơ sở dữ liệu - mỗi cơ sở dữ liệu dành cho môi trường phát triển, thử nghiệm và sản xuất. Theo quy ước, tên của họ phải là -
- library_development
- library_production
- library_test
Bạn nên khởi tạo cả ba và tạo người dùng và mật khẩu cho chúng với đầy đủ các đặc quyền đọc và ghi. Chúng tôi đang sử dụngroot ID người dùng cho ứng dụng của chúng tôi.
Thiết lập cơ sở dữ liệu cho MySQL
Trong MySQL, chúng tôi đang sử dụng rootID người dùng cho ứng dụng của chúng tôi. Phiên bảng điều khiển MySQL mà bạn thực hiện việc này trông giống như sau:
mysql> create database library_development;
Query OK, 1 row affected (0.01 sec)
mysql> grant all privileges on library_development.*
to 'root'@'localhost' identified by 'password';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
Bạn có thể làm điều tương tự cho hai cơ sở dữ liệu khác library_production và library_test.
Định cấu hình database.yml
Tại thời điểm này, bạn cần cho Rails biết về tên người dùng và mật khẩu của cơ sở dữ liệu. Bạn làm điều này trong tệpdatabase.yml, có sẵn trong library\configthư mục con của Ứng dụng Rails bạn đã tạo. Tệp này có các phần cấu hình trực tiếp cho cơ sở dữ liệu MySQL. Trong mỗi phần bạn sử dụng, bạn cần thay đổi dòng tên người dùng và mật khẩu để phản ánh các quyền trên cơ sở dữ liệu bạn đã tạo.
Khi bạn hoàn thành, nó sẽ trông giống như -
development:
adapter: mysql
database: library_development
username: root
password: [password]
host: localhost
test:
adapter: mysql
database: library_test
username: root
password: [password]
host: localhost
production:
adapter: mysql
database: library_production
username: root
password: [password]
host: localhost
Thiết lập cơ sở dữ liệu cho PostgreSQL
Theo mặc định, PostgreSQL không cung cấp cho bất kỳ người dùng nào. Chúng tôi phải tạo người dùng mới. Sử dụng lệnh sau để tạo người dùng có tênrubyuser.
tp> sudo -u postgres createuser rubyuser -s
Nếu bạn muốn tạo mật khẩu cho người dùng mới, hãy sử dụng lệnh sau.
tp> sudo -u postgres psql
postgres=# \password rubyuser
Sử dụng lệnh sau để tạo cơ sở dữ liệu library_development.
postgres=# CREATE DATABASE library_development OWNER rubyuser;
CREATE DATABASE
Sử dụng lệnh sau để tạo cơ sở dữ liệu library_production.
postgres=# CREATE DATABASE library_production OWNER rubyuser;
CREATE DATABASE
Sử dụng lệnh sau để tạo cơ sở dữ liệu library_test.
postgres=# CREATE DATABASE library_test OWNER rubyuser;
CREATE DATABASE
nhấn Ctrl+D để chấm dứt PosgreSQL.
Định cấu hình database.yml
Tại thời điểm này, bạn cần cho Rails biết tên người dùng và mật khẩu cho cơ sở dữ liệu. Bạn làm điều này trong tệpdatabase.yml, có sẵn trong library\configthư mục con của Ứng dụng Rails bạn đã tạo. Tệp này có các phần cấu hình trực tiếp cho cơ sở dữ liệu PostgreSQL. Trong mỗi phần, bạn cần thay đổi các dòng tên người dùng và mật khẩu để phản ánh các quyền trên cơ sở dữ liệu bạn đã tạo.
Khi bạn hoàn thành, nó sẽ trông như sau:
default: &default
adapter: postgresql
encoding: unicode
development:
adapter: postgresql
encoding: unicode
database: library_development
username: rubyuser
password: <Password for rubyuser>
test:
adapter: postgresql
encoding: unicode
database: library_test
username: rubyuser
password: <Password for rubyuser>
production:
adapter: postgresql
encoding: unicode
database: library_production
username: rubyuser
password: <Password for rubyuser>
Tiếp theo là gì?
Hai chương tiếp theo giải thích cách lập mô hình các bảng cơ sở dữ liệu của bạn và cách quản lý các bảng đó bằng Rails Migrations.