Skip to content

Полная конвертация ФИАС XML в SQL дамп

Notifications You must be signed in to change notification settings

kaperusov/ru_address

 
 

Repository files navigation

ru_address: Конвертация БД ФИАС в SQL дамп

Утилита для командной строки, позволяющая сконвертировать схему, данные и ключи БД ФИАС и ГАР в SQL-файл, готовый для импорта в MySQL и/или PostgreSQL базу.

Благодаря SAX парсеру потребляет небольшое количество ресурсов (не более 50 мб памяти).

Для начала необходимо скачать актуальную XSD схему и последнюю XML выгрузку с данными ФИАС, распаковать их в одну папку и запустить команду.

Все нужные файлы можно скачать с сайта-источника ФНС России https://fias.nalog.ru/Updates.aspx

Для автоматицации выгрузки и распаковки архива, можно воспользоваться shell-скриптом: download_schemas.sh

Установка

Требуется установленный Python 3.6

$ git clone https://github.com/shadz3rg/ru_address.git && cd ru_address && python setup.py install

Использование

Установка пакета дает доступ к исполняемому файлу ru_address.

$ ru_address --help
Usage: ru_address [OPTIONS] SOURCE_PATH OUTPUT_PATH

  Подготавливает БД ФИАС для использования с SQL. XSD файлы и XML выгрузку
  можно получить на сайте ФНС https://fias.nalog.ru/Updates.aspx

  Для автоматицации выгрузки, можно воспользоваться shell-скриптом:
  download_schemas.sh

Options:
  --join TEXT                 Опция позволяет объединить весь дамп в один файл
                              (по умолчанию отдельный файл для каждой
                              таблицы).
  --source [xml|dbf]          Формат источника данных.
                              Возможные варианты: xml | dbf.
                              По умолчанию "xml". "dbf" пока не реализован.
  --sql-syntax [pgsql|mysql]  SQL формат выходных файлов (по умолчанию "pgsql").
  --db-schema TEXT            Имя схемы в БД (только PostgreSQL), по умолчанию: "gar").
  --xsd-schema TEXT           Тип XSD схемы. Возможные варианты: gar | fias. (По умолчанию: "gar").
  --table-list TEXT           Список таблиц для обработки, указывается строкой с разделением запятой.
  --no-data                   Не генерировать в результирующем файле инструкуции для вставки данных в таблицы.
  --no-definition             Пропустить создание схемы.
  --encoding TEXT             Кодировка таблицы, по умолчанию "utf8mb4" (только для MySQL).
  --beta                      Отладочный флаг. Для проверки работы методов.
  --version                   Show the version and exit.
  --help                      Show this message and exit.

Простейший вариант полная конвертация:

$ ru_address /путь/к/файлам /путь/для/сохранения --join=dump.sql

С ограниченным списком таблиц:

$ ru_address /путь/к/файлам /путь/для/сохранения --table-list=ACTSTAT,ADDROBJ,CENTERST

Удаление

sudo pip uninstall ru-address && sudo rm -f /usr/local/bin/ru_address

About

Полная конвертация ФИАС XML в SQL дамп

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 58.1%
  • XSLT 38.8%
  • Shell 3.1%