sqlite позволяет легко сдампить содержимое бд в файл - для этого используется команда .dump.
Попытка сразу экпортировать этот файл в mysql гарантированно завершится ошибками.
Причина в том, что синтаксис sql - запросов несколько отличается у этих субд.
Таким образом дамп необходимо преобразовать к виду, пригодному для загрузки в mysql.
Кроме того, может возникнуть проблема с целочисленными PRIMARY KEY после эскпорта, которая будет сопровождаться сообщением типа 'Duplicate entry '0' for key 'PRIMARY''
Причина в том, что в дампе запросы CREATE TABLE не содержат опции AUTO_INCREMENT для PRIMARY_KEY полей. В итоге данные залиты, приложение/сайт работает на чтение, но при попытке что-либо сохранить возникает такая ошибка.
Тут можно либо модифицировать соответствующие поля, добавив им эту опцию. Либо допилить дамп, добавив в него AUTO_INCREMENT для нужных полей
`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY
и после этого пересоздать и перезалить базу.
Если кому нужен скрипт для конвертации sqlite-формата в mysql - обращайтесь. Поделюсь с удовольствием.
Комментариев нет:
Отправить комментарий
Если Вы нашли ошибку у автора, у Вас есть вопрос или просто хотите поделиться чем-то полезным, то пишите - не стесняйтесь..