Вопрос по таблицам InstantMaps2

Как выполнить импорт объектов через phpMyAdmin?

#1 9 июня 2016 в 09:21
Всем привет.

Возникла проблема при импорте объектов InstantMaps2 через в админку. А именно, импортируется максимум 5000 объектов за раз, если повезет (минимально было 400 с хвостиком). Связывался с хостером, он смотрел логи — ресурсов достаточно, ошибок нет. Просто обрывается на каком-то месте импорт и всё. Предложил несколько вариантов: разбить файл на мелкие части, сделать всё локально, а потом перенести на хостинг, или переписать скрипт таким образом, чтобы его работа не прекращалась по таймауту (запускать импорт в цикле). Перенес сайт на денвер — ничего не помогло, хотя увеличил и memory_limit до 4096, и все остальные показатели (уже не помню, что там делал, подглядывал в шпаргалку). В общем, максимум смог импортировать за 1 раз 5000 строк. Но у меня файл, в котором 2,5 млн. строк. Пробовал разбивать на части по 50000, 20000, 10000, 5000 и 2000 строк — результат тот же — импортирует только часть файла. Переписать скрипт тоже не представляется возможным, потому что, во-первых, он закодирован, а во-вторых, я не программист. В общем, решил импортировать прямо в базу.

Как сделать файлы для импорта в нужные таблицы разобрался. Кроме одного момента. В таблице cms_places_markers есть столбец addr_hash, где, если я правильно понял, записан адрес или другое значение в md5. Могу ошибаться, в этих делах ничего не понимаю. Так вот собственно и сам вопрос: что писать в этот столбец? Понятно, что какой-то хэш. Но где его взять? И что будет, если оставить пустым?

Может быть кто-то делал импорт таким же образом (прямо в базу)? Подскажите, как поступить.

iCMS 2.5.1, iMaps 2.0.2

Спасибо.
#2 9 июня 2016 в 09:36
Очевидно по тайм-ауту обрывается скрипт, я бы сделал импорт локально (убрав тайм лимит в локальном PHP предварительно), затем залил дамп базы.

Так вот собственно и сам вопрос: что писать в этот столбец?

asnenne

Хэш от адреса. Неважно как именно его формировать (можно просто md5(город + улица + дом)), главное чтобы для двух объектов по одному адресу (до дома) этот хэш был одинаковым. Он используется как индекс при группировке объектов по адресам.
#3 9 июня 2016 в 10:14

Он используется как индекс при группировке объектов по адресам

r2
А если не нужно группировать по адресам, то можно оставить столбец пустым? Всё остальное будет работать в этом случае?

Спасибо.
#4 9 июня 2016 в 17:40
Да
#5 9 июня 2016 в 21:53
Запустил утром импорт на денвере, убрал тайм лимит. В общем, до сих пор крутит что-то, один файл из 20000 строк так и не загрузился до сих пор. Все-таки нужно пробовать импортировать сразу через базу.

Такой вопрос еще по таблице csm_con_places. Есть в ней столбец addrs. В нем записаны адреса объектов. Но начинаются они не с города, а с трех дефисов:



Если сделать экспорт таблицы в csv, то в этом столбце кроме этих трех дефисов ничего другого нет. Подскажите, как заполнить в csv этот столбец, чтобы адрес импортировался в базу? Файл csv готовлю в Excel.

Спасибо.
#6 13 февраля 2017 в 09:48

Хэш от адреса. Неважно как именно его формировать (можно просто md5(город + улица + дом)), главное чтобы для двух объектов по одному адресу (до дома) этот хэш был одинаковым. Он используется как индекс при группировке объектов по адресам.

r2

Все-таки хотелось бы услышать правильную формулу просчета хэша от разработчика. Ведь если считать хэш "неважно как", то потом при ручном добавлении объектов хэши(родной и посчитанный "неважно как") будут отличаться.
#7 14 февраля 2017 в 14:07

. В нем записаны адреса объектов. Но начинаются они не с города, а с трех дефисов:

DK
Это поле в формате YAML

правильную формулу просчета хэша от разработчика

dwd
Правильной будет любая формула, дающая одинаковый хэш для двух одинаковых адресов.
md5( страна + город + улица + дом )

  1. $m['addr_hash'] = md5(implode(',', array($m['addr_city_id'], $m['addr_street'], $m['addr_house'])));
#8 14 февраля 2017 в 15:10

Правильной будет любая формула, дающая одинаковый хэш для двух одинаковых адресов.
md5( страна + город + улица + дом )

r2
Мою мысль вижу вы так и не поняли, но за ответ спасибо. То что я хотел знать в нем прозвучало.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.