These are chat archives for DrupalRu/chat

25th
Aug 2017
onlyextart
@onlyextart
Aug 25 2017 11:55
Привет всем
нужна консультация по уустановке drush на ubuntu
кто у нес спец в этом вопросе?
Alexey Kuznetsov
@alexey-kuznetsov
Aug 25 2017 11:58
все спецы
что надо то?))
onlyextart
@onlyextart
Aug 25 2017 11:59
короче ставлю драш, а он гад там где нужно не запускается
пишет ошибку
[error] Drush command terminated abnormally due to an unrecoverable error.
Error: Cannot redeclare drush_sql_bootstrap_further() (previously declared in /root/.composer/vendor/drush/drush/includes/legacy.inc:14) in /usr/share/drush/commands/sql/sql.drush.inc, line 259
и что делать?
не могу найти решения, уже и переустанавливал по разному
Alexey Kuznetsov
@alexey-kuznetsov
Aug 25 2017 12:00
скорее всего надо снести старый драш
полагаю, стоял установленный через apt-get?
onlyextart
@onlyextart
Aug 25 2017 12:00
а как его найти?
Alexey Kuznetsov
@alexey-kuznetsov
Aug 25 2017 12:00
apt-get remove drush
onlyextart
@onlyextart
Aug 25 2017 12:01
Пакет «drush» не установлен, поэтому не может быть удалён
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
может еще как-то найти?
и apt autoremove тоже делал
Alexey Kuznetsov
@alexey-kuznetsov
Aug 25 2017 12:02
drush-ops/drush#2880
во, очень похоже на то же самое
9-й драш поставился?
onlyextart
@onlyextart
Aug 25 2017 12:05
root:~# drush
-bash: /root/.composer/vendor/bin/drush: Нет такого файла или каталога
короче снес нафиг
смотри какая ситуация у меня. Я клонирую пропект, там делаю composer install и там уже ставиться drush, перехожу в docroot и там я должен сделать drush site install
bumble
@awd-studio
Aug 25 2017 12:07
9й тока локально ставится, на сайт. как консолько.
там у рута драш установлен, нужно зайти под ним, и composer global drush/drush remove
onlyextart
@onlyextart
Aug 25 2017 12:08
я везде его удалил полностью
@awd-studio так что дальше то делать?
Alexey Kuznetsov
@alexey-kuznetsov
Aug 25 2017 12:11
мне как-то 8-й привычнее. С 9-м как-то много гемора
onlyextart
@onlyextart
Aug 25 2017 12:11
@alexey-kuznetsov да мне главное чтобы работал =)
Grayw0lf
@Grayw0lf
Aug 25 2017 12:11
композер то стоит?
onlyextart
@onlyextart
Aug 25 2017 12:12
@Grayw0lf оо, давай тут, а то там вроде же нельзя
конечно
Grayw0lf
@Grayw0lf
Aug 25 2017 12:13
под каким пользователем ставишь?
onlyextart
@onlyextart
Aug 25 2017 12:13
под root
или нужно под собой? но я проверял, никак не работает, ни под кем
Grayw0lf
@Grayw0lf
Aug 25 2017 12:14
а кем разворачиваешь сайт?
onlyextart
@onlyextart
Aug 25 2017 12:14
git clone test.git test
типа так
тоже рутом
может нужно как-то сказать чтобы он запускался из /var/www/html/test/drush а не из системы
Grayw0lf
@Grayw0lf
Aug 25 2017 12:18
и под рутом драш ставится через композер? ошибка говорит что он не установлен, по умолчанию через композер ставится туда в вендоры, ну пропиши путь + drush вроде так, а в папке вендоры есть он?
onlyextart
@onlyextart
Aug 25 2017 12:19
я уже удалил его отовсюду
как мне сейчас правильно ставить? глобально через композер? под root?
Grayw0lf
@Grayw0lf
Aug 25 2017 12:20
@onlyextart ну тогда поставь его снова, как в доках написано, я ставил под конкретного юзера, ну у меня на сервере он один
а на другом сервере уже не помню но там он для всех
рутом если работаешь то ставь им
onlyextart
@onlyextart
Aug 25 2017 12:22
@Grayw0lf кинь ссылку на правильную установку, я уже почти везде попробовал =)
и устанавливаем только композером, верно? больше же никак ничего не трогаем?
onlyextart
@onlyextart
Aug 25 2017 12:28
Installation failed, reverting ./composer.json to its original content.
вот что пишет когда пытаюсь поставить через композер
Alexey Kuznetsov
@alexey-kuznetsov
Aug 25 2017 12:31
а давно ставишь? Обычно день занимает, если в первый раз))
9й драш через лаунчер что ли уже запускается?
Alexey Kuznetsov
@alexey-kuznetsov
Aug 25 2017 13:01
хотите пятничную задачку?
Есть какие-то данные на сервере. Их может быть много. И их копия есть локально в приложении. Изначально они просто забираются с сервера, потом раз в N минут приложение говорит серверу "эй, дай-ка мне всё, что изменилось с такого-то момента". И сервер даёт. Но как быть, если на сервере что-то удалили - ведь инфа об удалённом объекте не попадёт в список изменённых? Как вообще засинхронить эту штуку?
KosHta
@Director-cemetery
Aug 25 2017 13:07
@alexey-kuznetsov нихатим
Alexey Kuznetsov
@alexey-kuznetsov
Aug 25 2017 13:10
)))
Alexander Dubovskoy
@adubovskoy
Aug 25 2017 13:11
@alexey-kuznetsov если через ревизии? да, тяжелее, не ls по таймстампу, но тем не менее.
KosHta
@Director-cemetery
Aug 25 2017 13:11
@alexey-kuznetsov Привет, кстати, куда пропал?
fairrandir
@fairrandir
Aug 25 2017 13:11
Что если сделать отдельную таблицу "лог", типа id, watched_id, timestamp, operation
Alexey Kuznetsov
@alexey-kuznetsov
Aug 25 2017 13:11
@adubovskoy а если с концами удалено?
delister
@delister
Aug 25 2017 13:11
делать пометку о удалении
KosHta
@Director-cemetery
Aug 25 2017 13:12
версионирование гита
Alexey Kuznetsov
@alexey-kuznetsov
Aug 25 2017 13:13
@delister например как?))
fairrandir
@fairrandir
Aug 25 2017 13:13
watched_id пусть указывает на изменившуюся сущность, timestamp - понятно, operation - insert, update, delete
Alexander Dubovskoy
@adubovskoy
Aug 25 2017 13:15
@alexey-kuznetsov в линухах запретить всем пользователям кроме php лезть туда где данные (если речь про файлы). любую операцию с удалением писать в отдельную табличку с указанием что и когда. когда клиент запрашивает сервер - в запросе наверняка есть время прошлой синхронизации, отдельно ему говорить "а вот еще удалено..
Alexey Kuznetsov
@alexey-kuznetsov
Aug 25 2017 13:16
так это надо ещё отдельные энтити создавать, которые будут хранить инфу об удалении чего-либо
оно конечно можно
Alexander Dubovskoy
@adubovskoy
Aug 25 2017 13:20
можно не энтити, а просто кастомную табличку на 3 поля (что на 2 поля меньше чем энтити :)) и туда писать по хуку.
bardachev
@bardachev
Aug 25 2017 13:28
@alexey-kuznetsov репликация mysql?
Alexey Kuznetsov
@alexey-kuznetsov
Aug 25 2017 13:31
энтити тоже в одной табличке будут храниться
есть решение проще
не давать прав на удаление - только депубликация))
@bardachev не, тут к базам данных задача не относится вообще
bardachev
@bardachev
Aug 25 2017 13:32
@alexey-kuznetsov а де у тебя данные тогда лежат?
Есть какие-то данные на сервере. Их может быть много. И их копия есть локально в приложении
Alexey Kuznetsov
@alexey-kuznetsov
Aug 25 2017 13:40
на сервере и локально
но локально они не в базе
bardachev
@bardachev
Aug 25 2017 13:40
а, ок
Alexey Kuznetsov
@alexey-kuznetsov
Aug 25 2017 13:41
а даже если в базе - как отлавливать строки, которых больше нет в источнике?
получается либо уведомлять об удалении, либо прогонять всю копию на актуальность
bardachev
@bardachev
Aug 25 2017 13:45
репликация позволяет переносить удаления строк
даже возможна репликация отдельных таблиц
а не всей базы
Alexey Kuznetsov
@alexey-kuznetsov
Aug 25 2017 13:47
не, не катит репликация
я внутри андроид прилаги не подниму mysql
Alexey Kuznetsov
@alexey-kuznetsov
Aug 25 2017 14:09
))))
bumble
@awd-studio
Aug 25 2017 18:18

Есть какие-то данные на сервере. Их может быть много. И их копия есть локально в приложении. Изначально они просто забираются с сервера, потом раз в N минут приложение говорит серверу "эй, дай-ка мне всё, что изменилось с такого-то момента". И сервер даёт. Но как быть, если на сервере что-то удалили - ведь инфа об удалённом объекте не попадёт в список изменённых? Как вообще засинхронить эту штуку?

да, обычный лог вести, и данные в ответе на запрос "эй, дай-ка мне всё, что изменилось с такого-то момента" выводить с учетом этого лога