Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Всем спасибо, неактуально
Есть база данных ФИАС - https://fias.nalog.ru/updates
Изначально на сервер нужно будет установить Laravel 7 и там работать.
Нужно создать скрипт (консольный в laravel), переводящий данные из xml в mysql таблицы. + скрипт обновления данных (он должен запрашивать данные (есть api) раз в день и если данные в БД обновились - обновлять таблицу). Если формат (структура таблиц или сами таблицы) поменяются и автообновление станет невозможно - скрипт должен сообщить об этом мне на почту.
Подробное комментирование кода приветствуется!
После реализации проверить целостность, что все связи таблиц соответствуют. Все данные должны соответствовать типам полей, в которые они будут помещены.
Файлы весят 70Гб после распаковки. Могу заказать сервер для работы на нём.
Помощь: уже кто-то реализовывал подобный экспорт, можно подсмотреть https://www.sql.ru/forum/1190752/import … eskiy-opyt
Но на официальном https://fias.nalog.ru/Updates пишут, что с 2016 года что-то поменялось
Подытожу, что в итоге должно получиться:
Консольный скрипт, которому указываем url-ссылку на архив полной БД ФИАС в zip формате и запускаем через консоль. Он сначала скачивает zip файл, потом распаковывает всё во временную папку и экспортирует xml файлы в соответствующие таблицы (проверяет, что не появилось дополнительных xml файлов, если появились - сообщает об этом и останавливается). После экспорта скрипт проверяет целостность данных. Если в процессе происходит какая-то ошибка, скрипт сообщает об этом и останавливается.
Второй скрипт каждый день в 2 ночи по cron запускается и запрашивает по api информацию об обновлении БД ФИАС. Если обновления появились - обновляет данные mysql и сообщает на почту об удачном завершении работы. Если в процессе какая-то ошибка - сообщает на почту об ошибке. Если в обновлениях есть файлы, которые не использовались - тоже сообщение на почту.
Для выполнения задания как минимум понадобятся такие навыки:
- знание Laravel (создание консольных команд; планировщик задач)
- знание Mysql
- умение работать через консоль (ssh + bash)
Предлагайте свои цены и сроки. Расскажите немного, был ли подобный опыт или с чем работали. Если есть вопросы, задавайте. Можете писать здесь или на почту pavelbrov СОБАКЕН gmail.com