База данных Rails switch

#mysql #ruby-on-rails #sqlite #postgresql

#mysql #ruby-on-rails #sqlite #postgresql

Вопрос:

Я нашел информацию, объясняющую, как настроить приложение Rails с самого начала, используя базу данных PostgreSQL. Но у меня уже есть созданное приложение. Есть какие-либо рекомендации по шагам, которые следует предпринять, чтобы изменить мое существующее приложение на использование PostgreSQL вместо SQLite?

Ответ №1:

Если вы используете Rails 6 , вы можете сделать это:

rails db:system:change --to=postgresql

где postgresql будет база данных, которую вы хотите.

Это было включено этим коммитом.

Комментарии:

1. Но когда я набираю эту команду, она говорит «недопустимый параметр: —to=postgresql».

Ответ №2:

Установите драгоценный камень pg в свой Gemfile

драгоценный камень ‘pg’

измените файл database.yml, чтобы использовать вашу базу данных, например.

 adapter: postgresql
database: db_name
pool:
timeout:
host: localhost
username: username
password: password
  

значения db_name, username и password — это те значения, которые вы также установили для своей базы данных postgresql

Комментарии:

1. После этого мне пришлось перезапустить мой rails-сервер

Ответ №3:

Следует отметить один момент: при таком переключении не будут учитываться какие-либо записи данных в самой базе данных SQLite, а только структура базы данных. Если вы хотите выполнить миграцию из одной базы данных в другую, И у вас было много данных в старой базе данных, которые вы хотите перенести в новую базу данных, вы можете использовать yaml_db gem.

Это позволило бы вам экспортировать данные в файл дампа YAML, переключить адаптер базы данных, создать и перенести базу данных, затем импортировать дамп YAML обратно в новую базу данных.

На самом деле я недавно опубликовал видео на YouTube именно на эту тему, на случай, если вы, как и я, больше разбираетесь в визуальном обучении.