Главная
Блог разработчиков phpBB
 
+ 17 предустановленных модов
+ SEO-оптимизация форума
+ авторизация через соц. сети
+ защита от спама

Перенос данных между базами данных с различными схемами

Anna | 20.06.2014 | нет комментариев

Возможно, вопрос идиотский, я полный новичок в руби. Мне кажется, должно быть какое-то дюже примитивное решение на рельсах, но я в упор не могу его нагуглить.

Представьте себе следующую задачу:
1) Существует десктопная программа с графическим, написанная на qt.
2) Программа предуготовлена для составления особых словарей, написана через пень-колоду из-за дюже сжатых сроков и владеет следующими неприятными моментами:
а) все данные хранятся в множестве sqlite3 баз данных
б) всякий словарь — отдельная база
в) увы (да-да, так не делают, но в данном случае это было нужно), но блобы тоже хранятся прямо в sqlite3. Там же закодирован тип содержимого, т.е все данные легко восстановимы
г) схема базы первоначально была составлена с учётом некоторых не значительных с точки зрения вопроса особенностей

3) Прямо теперь я пишу веб-приложение для представления всех этих словарей
4) В этом приложении все базы предполагается слить в одну
5) Схема таблиц достаточно значительно изменилась, но в целом, модели данных легко отображаются одна на иную в обе стороны.

Первоначальная мысль заключалась в том, Дабы написать особое веб-приложение конвертер, тот, что принимал бы к себе на вход файл sqlite (заполненный словарь), ступенчато обходил бы всё содержимое базы со связями, составлял бы промежуточное представление и заливал бы напрямую через контроллер полученные данные в основную базу.

Список задач:
1) Не понимаю, дозволено ли каким-то образом в ruby-on-rails динамически цепляться к двум базам (т.е с одной соединение удерживать непрерывно, а к 2-й — залитой sqlite базе — подключаться на лету, считывать из неё все и заливать в основную)
2) Если невозможно это делать на лету, как это верно делать статически?
3) В целом, дозволено было бы написать конвертер на чистом SQL, но тогда может оказаться отдельным геморроем переносить файлы из блобов в paperclip (ну либо carrierwave). чай так?

Дюже хотел бы услышать советы, как всё сделать верно. Да, о том, что я дятел и сам себе злой буратино, я знаю, но всё-таки

Источник: programmingmaster.ru

Оставить комментарий
Форум phpBB, русская поддержка форума phpBB
Рейтинг@Mail.ru 2008 - 2017 © BB3x.ru - русская поддержка форума phpBB