Перенос данных в Ruby On Rails из sqlite3 в mysql в отношении многих ко многим
У меня есть sqlite3
База данных в моем rails
приложение, которое имеет development.sqlite3
файл. Я хочу преобразовать базу данных в mysql
Вот шаги, которые я делаю, но все же у меня есть проблемы:
1. Сначала я добавляю и устанавливаю gem 'seed_dump'
добавить данные в мой seed.rb
(Запустив rake db:seed:dump
) потому что мне действительно нужно перенести мои данные.
2. Изменить database.yml
конфигурация для mysql
установка.
development:
adapter: mysql2
encoding: utf8
database: MyDB
username: root
password: ****
production:
adapter: mysql2
encoding: utf8
database: MyDB
username: root
password: ****
3.Run rails db:create
затем rails db:schema:load
,
4. После загрузки данных из семян, запустив rake db:seed:dump
Проблема в том, что мои данные отношения ко многим (у которых есть таблица в схеме БД) не могут быть импортированы в mysql из моего seed.rb.
Я хочу знать, есть ли другой безопасный способ перенести мои данные из sqlite3
в mysql
вместо того, чтобы записать их в seed.rb
а потом их читать?
1 ответ
Когда я искал другой способ решения проблемы, я нашел то, что здесь заявлено. Я следовал за шагами, стоящими перед другой ошибкой mysql
: Data is too long for column summary
, Чтобы пропустить эту ошибку я выключил mysql strict mode
как это в database.yml
:
конфиг /database.yml
development:
adapter: mysql2
encoding: utf8
database: myDB
username: root
password: ****
host: localhost
strict: false
production:
adapter: mysql2
encoding: utf8
database: myDB
username: root
password: ****
host: localhost
strict: false
Это решение более понятно, чем использование gem 'seed_dump'
у которого есть проблемы с has and belongs to many
связи!