Делаем выборочные BackUp Баз данных

left Была задача сделать универсальное средство извлечения отдельных данных из разных типов СУБД. И главное было необходимо обернуть выходные значения в индивидуальный шаблон. Изначально предполагалось вернуть insert запрос, с необходимым синтаксисом. Что бы можно было дальше скормить его разным базам данных. Но в итоге получилось даже больше.

Я думал что напишу скрипт быстро, но застрял на кодировках. Почему возвращаемые массивы все время были не в UTF-8, хотя при подключении четко выставлялась кодировка. Единственное что можно предположить - это кривые драйверы. Существует несколько драйверов для каждой базы, я выбрал те, для которых смог найти путное описание.

Программку я выложил не сколько для производственных целей, сколько для ознакомления. В ней присутствуют подключения к PostGreSql, MySql, SQLite. Так же работа с файлами, чтение конфига, пример класса, вывод времени работы программы.

описание

В группе [Dump №] задается сам запрос и шаблон вывода, где значение заменяем на %s. Так же указываем файл вывода и базу данных. Количество данных групп не ограниченно, номера идут от 1, последовательно. Программа распространяется на халяву, при необходимости допилить напильником :-)

возможности

  • Выбор данных своим select запросом
  • Вывод в файл произвольным шаблоном
  • Универсальный Конфигурационный файл
  • Выполнения неограниченого количесва запросов из конфига
  • Задание для каждого запроса Базы и выходного файла
  • Поддержка PostGreSql
  • Поддержка MySql
  • Поддержка SQLite

Используемые классы

  • time
  • psyco
  • ConfigParser
  • sqlite3
  • MySQLdb
  • pg
  • string
  • codecs

Для работы приложения необходимы следуюших пакеты

  • python
  • python-pygresql
  • python-mysqldb
  • python-psyco

А вот и сам файл