powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Пополнение/обновление базы данных пользователей. Есть вопросы.
2 сообщений из 2, страница 1 из 1
Пополнение/обновление базы данных пользователей. Есть вопросы.
    #38368760
Gamber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Коротко опишу задачу и проблему...

Есть приложение для обспечения удаленного доступа к рабочим столам пользователей.
Есть база данных этих самых пользоватей вытянутая с помощью ldifde с LDAP (ФИО, Email, телефон и пр)...
База экспортируется в MySQL в виде заранее подготовленного CSV.

Технологи работающие с приложением, имеют возможность в случае неудачного автоопределения IP, указать его вручную, после чего он добавится в базу, а флаговое заначение AutoIP встанет с дефолтного True в False, так же есть возможность просмотреть и отредактировать поле IP для пользователей.

Добавлять, удалять и редактировать что-то кроме IP, технологи не могут...

В базе порядка 25K юзеров...

Есть необходимость делать ежемесячный апдейт базы по следующему алгоритму...

1. Сравнить текущую базу пользователей LDAP и базу приложения.
2. Удалить тех юзеров из базы приложения, которых уже нет в базе LDAP (чтобы не задеть круглых тёзок, делать это не по ФИО, а по Email)
3. Добавить новых пользователей в базу приложения.
4. Не задеть введенные технологами IP для пользователей которые остались на месте.

Подскажите пожалуйста, как можно такое оптимально провернуть?

Сгружу я новый CSV во временную табличку, а вот как грамотно актуализировать боевую базу, пока понять не могу...
...
Рейтинг: 0 / 0
Пополнение/обновление базы данных пользователей. Есть вопросы.
    #38368793
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GamberУдалить тех юзеров из базы приложения, которых уже нет в базе LDAP (чтобы не задеть круглых тёзок, делать это не по ФИО, а по Email)
Код: sql
1.
2.
3.
4.
delete mt.*
from maintable mt
left join tmptable tt on mt.email=tt.email
where tt.some_not_null_field is null

Только... вам их действительно удалять надо? к ним привязок никаких нет? может, лучше флаг "удалён" ставить?
Gamber3. Добавить новых пользователей в базу приложения.Аналогичным левым антиджойном по емэйлу (только в обратную сторону).
автор4. Не задеть введенные технологами IP для пользователей которые остались на месте.ну, насколько я понял, всё просто:
Код: sql
1.
2.
делаем что нужно, но только там, где
where maintable.autoip=true


Хотите более детального ответа - показывайте show create table.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Пополнение/обновление базы данных пользователей. Есть вопросы.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]