РЕШЕНО | Как изменить порядок нумерации UID пользователей?

Главные вкладки

Аватар пользователя Modjahed Modjahed 26 ноября 2009 в 11:32

Новые пользователи создаются с порядковым номером 341, 342, 343 и т.д. Когда я удаляю всех пользователей, то порядок Uid продолжается. То есть удалил всех, создаю нового пользователя и он уже идет с номером 344, 345, 346.

Что нужно сделать, чтобы порядок новых пользователей начинался с 2, 3, 4 и т.д Возможно в какой - то таблице нужно что - то удалить или в файле прописать?

На форуме нашел лишь описание для Drupal 5, в Drupal 6 в БД, такой таблицы нет вовсе.

Комментарии

Аватар пользователя antevgen antevgen 26 ноября 2009 в 18:07

uid имеет аттрибут autoincrement. Если при удалении данных ты обнулиш параметр AUTO_INCREMENT, то все с uid создаться с этим числом.

Аватар пользователя Modjahed Modjahed 26 ноября 2009 в 19:23

antevgen wrote:
uid имеет аттрибут autoincrement. Если при удалении данных ты обнулиш параметр AUTO_INCREMENT, то все с uid создаться с этим числом.

Спасибо тебе добрый человек! Ответь пожалуйста где находится данный параметр в какой - нибудь таблице? И каким образом обнулять?

Аватар пользователя Modjahed Modjahed 26 ноября 2009 в 21:11

RxB wrote:

TRUNCATE USERS;

Гарантированно обнулит инкремент

Я не совсем понимаю о чем речь идет. Я захожу в базу данных, нахожу таблицу users захожу в нее и дальше не знаю что делать. Возможно ли подробно написать, по шагам, что нужно сделать, чтобы пользователи при регистрации числились по - порядку?

Аватар пользователя Modjahed Modjahed 26 ноября 2009 в 21:37

Решено! Сделал следующее:

1. Зашел в Базу данных через «phpMyAdmin»;
2. Нашел таблицу «users» и вошел в нее;
3. Удалил всех пользователей кроме главного, у него UID 1;
4. Сверху находятся вкладки нажал на вкладку «Операции»;
5. Нашел поле под названием «auto_increment» в нем находится номер следующего создаваемого пользователя;
6. Удалил значения с поля и поставил цифру «2» - это значит, что следующему создаваемому (регистрируемому) пользователю будет присвоен UID 2;
7. Нажал "Ок".

Теперь все чудесно, проблема решена. Спасибо всем кто отписался в этой теме, без вашей наводки я бы ни за что не смог бы решить данную проблему!

Аватар пользователя GDI@drupal.org GDI@drupal.org 28 ноября 2009 в 15:58

Юзера 0 тоже надо было оставить иначе потом будут вопросы почему тот или иной материал не доступен анонимусам. Поиск вам поможет его восстановить, тут уже были темы и не раз про это с рецептами восстановления нулевого пользователя.

Аватар пользователя misterpronin misterpronin 3 мая 2013 в 17:15

А как быть с Drupal 7? В семёрке вроде какая-то другая схема... Ни одного поля со значением или названием auto_increment в таблице users нет... Есть какая-то таблица sequences ... В общем всё как-то запутано... Пробовал установить модуль Delete all... но он кажется не выполняет данную работу...

Аватар пользователя Andruxa Andruxa 4 мая 2013 в 2:31

"misterpronin" wrote:
Ни одного поля со значением или названием auto_increment в таблице users нет...

это не поле, это свойство поля
в данном случае - поля uid

и

"RxB" wrote:
Ждём теперь топиков, на тему - "чо за хрен творится с юзерами"

Аватар пользователя misterpronin misterpronin 10 ноября 2015 в 11:49

"Andruxa" wrote:
это не поле, это свойство поля

Нету ни одного поля с данным свойством. В этом то и суть! Поле uid имеет другое свойство - в него введено кастомное значение "0".
"Andruxa" wrote:
и

Перед запуском сайта юзеров на сайте не будет. Как бы всё с чистого листа планирую начать...

Аватар пользователя sas@drupal.org sas@drupal.org 5 мая 2013 в 9:41

"RxB" wrote:
Ждём теперь топиков, на тему - "чо за хрен творится с юзерами"

+100
P.S. Как мне сшить 7 шапок из это бурки - да очень просто - вот готово, а почему они такие маленькие получились и на голову не лезут ?

Аватар пользователя misterpronin misterpronin 11 мая 2013 в 11:22

Что же получается, совсем нет способов чтоб "безболезненно" обнулить UID перед запуском сайта? Просто это важно для меня. Перед запуском сайта я буду удалять всех тестовых пользователей и все тестовые материалы и хотел бы обнулить uid ! Изменение значения в таблице "sequences" не помогает... Заранее спасибо тому, кто предложит действенный вариант!

Аватар пользователя misterpronin misterpronin 11 мая 2013 в 12:10

Особой ценности у данного действа конечно нет. Но прелесть складывается из мелочей... Сакральный смысл в том, чтоб по uid-у я мог определить, сколько пользователей регистрировалось у меня на сайте... И чтоб каждый пользователь знал каким по счёту он был зарегистрирован... Так кто-нибудь знает, как "безболезненно" произвести обнуление????

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 11 мая 2013 в 12:39

"misterpronin" wrote:
Особой ценности у данного действа конечно нет. Но прелесть складывается из мелочей... Сакральный смысл в том, чтоб по uid-у я мог определить, сколько пользователей регистрировалось у меня на сайте... И чтоб каждый пользователь знал каким по счёту он был зарегистрирован... Так кто-нибудь знает, как "безболезненно" произвести обнуление????

А как же забаненые? А спамеры?

Аватар пользователя misterpronin misterpronin 12 мая 2013 в 8:19

"RxB" wrote:
А как же забаненые? А спамеры?

Неважно. Про забаненных и спамеров я знаю. Просто мне нужно чтоб сайт был запущен с обнулённым uid. Неужели это так сложно сделать в drupal7 ?

Аватар пользователя deb deb 15 мая 2013 в 8:35

Сделать можно, но сбрасывать автоинкремент в sequences я бы не стал (хз к чему это приведет). В постгресе все скорее всего просто, а для мускла имеет смысл писать костыль: на hook_user_presave новым юзерам выставлять uid по своему правилу (свои sequences). Это также гарантирует что номера юзеров будут последовательными (в ядре это не так, т.к. таблицу sequences может использовать кто угодно, отсюда пробелы в номерах юзеров).