Как я могу загрузить файл sql "dump" в sql alchemy - PullRequest
4 голосов
/ 13 мая 2010

У меня большой файл дампа sql ... с несколькими операторами CREATE TABLE и INSERT INTO. Есть ли способ загрузить все это в базу данных SQLAlchemy sqlite одновременно. Я планирую использовать интроспективный ORM из sqlsoup после того, как я создаю таблицы. Однако, когда я использую метод engine.execute(), он жалуется: sqlite3.Warning: You can only execute one statement at a time.

Есть ли способ обойти эту проблему. Возможно, разделение файла с помощью регулярного выражения или какого-то парсера, но я не знаю достаточно SQL, чтобы получить все случаи для регулярного выражения.

Любая помощь будет принята с благодарностью.

Будет

EDIT: Поскольку это кажется важным ... Файл дампа был создан с базой данных MySQL, и поэтому в нем довольно много команд / синтаксиса, которые sqlite3 не понимает правильно.

Ответы [ 2 ]

1 голос
/ 13 мая 2010

"или какой-то парсер"
Я считаю, что MySQL является отличным парсером для файлов дампа MySQL :)
Вы сами сказали: «так что у него довольно много команд / синтаксиса, которые sqlite3 не понимает правильно». Очевидно, что SQLite не является инструментом для этой задачи.
Что касается вашей конкретной ошибки: без контекста (т.е. обратной трассировки) я ничего не могу сказать по этому поводу. Мартелли или Скит, вероятно, могли бы протянуть руку во времени и пространстве и прочесть мысли вашего переводчика, но меня не так много.

0 голосов
/ 13 мая 2010

SQL, распознаваемый MySQL, и SQL в SQLite совершенно отличаются. Я предлагаю выгрузить данные каждой таблицы отдельно, а затем загрузить данные в эквивалентные таблицы в SQLite.

Создайте таблицы в SQLite вручную, используя подмножество команд «CREATE TABLE», приведенных в файле raw-dump.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...