Rails 3 - выберите с помощью Включить?

Недавно я опубликовал etlalchemy для выполнения этой задачи. Это решение с открытым исходным кодом, которое позволяет осуществлять миграцию между любыми 2 базами данных SQL с 4 строками Python и первоначально предназначалось для миграции из Oracle в MySQL. Поддержка была добавлена ​​для MySQL, PostgreSQL, Oracle, SQLite и SQL Server.

Это позаботится о переносе схемы (возможно, самой сложной), данных, индексов и ограничений со многими другими доступными параметрами.

Для установки:

$ pip install etlalchemy

На El Capitan : pip install --ignore-installed etlalchemy

Для запуска:

from etlalchemy import ETLAlchemySource, ETLAlchemyTarget

orcl_db_source = ETLAlchemySource("oracle+cx_oracle://username:password@hostname/ORACLE_SID")

mysql_db_target = ETLAlchemyTarget("mysql://username:password@hostname/db_name", drop_database=True)
mysql_db_target.addSource(orcl_db_source)
mysql_db_target.migrate()

Что касается производительности, этот инструмент использует инструменты импорта BULK для различных СУБД, таких как mysqlimport и COPY FROM ( postgresql ) для эффективного выполнения миграции. Я смог перенести базу данных SQL Server объемом 5 ГБ с 33,105,951 строк в MySQL за 40 минут и базу данных Oracle объемом до 3 000 000 байт в MySQL за 13 минут.

Чтобы получить больше информации о происхождении проекта, проверьте это сообщение. Если у вас возникли какие-либо ошибки при запуске инструмента, откройте проблему в g2ub gifub repo , и я исправлю его менее чем за неделю!

(Чтобы установить драйвер «cx_Oracle» Python, следуйте этим инструкциям )

37
задан sscirrus 12 February 2014 в 05:29
поделиться