База данных Kallithea sqlite для базы данных MySQL

У меня Kallithea работает на моем собственном сервере с базой данных sqlite. Я бы хотел переместить все эти данные в базу данных MySQL. По умолчанию Kallithea использует sqlite, если не указана другая база данных. Из документации Kallithea pdf https://media.readthedocs.org/pdf/kallithea/latest/kallithea.pdf они рекомендуют использовать https://github.com/shazow/sqlalchemygrate для переноса данных из базы данных в другую.

Я установил sqlalchemygrate, используя Python pip, но когда я пытаюсь мигрировать, есть части, которые я совсем не понимаю. В меню справки не указано, как использовать команду переноса. По крайней мере, я этого совсем не понимаю. Например, когда я пытаюсь ввести

grate migrate "sqlite:./kallithea.db" "mysql://kallithea@localhost/kallithea"

Я получаю сообщение об ошибке

ImportError: No module named sqlite

В меню справки сказано использовать

migrate METADATA ENGINE_FROM ENGINE_TO Migrate schema or data from one engine to another.

И пример, как это использовать

grate migrate model.meta:metadata \ "mysql://foo:bar@localhost/baz" "sqlite:///:memory:" \

Что я действительно не понимаю, так это зачем нужны эти метаданные? И как указать файл sqlite .db для этого. И как перенести данные в новую базу данных kallithea в mysql с пользователем kallithea, у которого есть все привилегии для этой базы данных.

2 ответа

ImportError: нет модуля с именем sqlite

Вам, вероятно, нужно установить sqlite, и pip install sqlite или похожие.

Что касается того, какие метаданные ему нужны, это относится к metadata в контексте SQLAlchemy: http://docs.sqlalchemy.org/en/latest/core/metadata.html

Не уверен насчет Каллифеи, но пользователи RhodeCode добились больших успехов, используя проект TAPS ( https://github.com/ricardochimal/taps) для переноса своих баз данных в другой формат.

Другие вопросы по тегам