Как изменить базу данных в приложении Rails - PullRequest
1 голос
/ 20 июня 2020

База данных моего приложения Rails - SQLite3, но я хочу изменить ее на MySQL. Что мне нужно сделать, чтобы изменить его в моем приложении?

Это database.yml из моего приложения:

# SQLite. Versions 3.8.0 and up are supported.
#   gem install sqlite3
#
#   Ensure the SQLite 3 gem is defined in your Gemfile
#   gem 'sqlite3'
#
default: &default
  adapter: sqlite3
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  timeout: 5000

development:
  <<: *default
  database: db/development.sqlite3

test:
  <<: *default
  database: db/test.sqlite3

production:
  <<: *default
  database: db/production.sqlite3

1 Ответ

1 голос
/ 20 июня 2020

Вам необходимо обновить адаптер до MySQL2 и добавить свои учетные данные. Например:

development:
  adapter: mysql2
  encoding: utf8mb4
  database: development
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: root
  password: password
  socket: /tmp/mysql.sock

См. официальную документацию для получения дополнительной информации.

Вот это со значениями по умолчанию:

default: &default
  adapter: mysql2
  timeout: 5000
  encoding: utf8mb4
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  socket: /tmp/mysql.sock

development:
  <<: *default
  database: development
  username: <%= ENV.fetch("username") %>
  password: <%= ENV.fetch("password") %>


test:
  <<: *default
  database: test
  username: username
  password: password

production:
  <<: *default
  database: production
  username: <%= ENV.fetch("username") %>
  password: <%= ENV.fetch("password") %>

Вы можете также закодируйте username и password в базе данных следующим образом:

mysql://<username>:<password>@<host>:<port>/<db_name>

, а затем установите host. Не помещайте username и password в файл database.yml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...