Перенос таблицы с пользователями

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

Аватар пользователя dbzer0 dbzer0 19 февраля 2007 в 7:35

Доброе время суток, уважаемые коллеги.

Есть у меня сайт (drupal 4.7) с большим количеством пользователей. Сейчас с нуля написал, переписал, переделал, подправил все под drupal 5. И все что нужно - это перенос таблицы пользователей на новый сайт.

сделал mysqldump'ом дамп таблицы и перенес ее в новую базу на новый сайт (drupal 5). Теперь при регистрации пользователя или изменении информации друпал жалуется на уже существующую запись (по автоинкременту), эта запись под этим id уже существует.

Вопрос: как изменить индекс этого автоинкремента? Например указать drupal'у (sql'ю?), что последняя запись имела id 2222.

Заранее благодарен за ответ Wink

Комментарии

Аватар пользователя romandor romandor 19 февраля 2007 в 9:50

Автоинкремента в таблице users для MySQL, на первый взгляд, нет.
Кстати для PostgreSQL есть:

CREATE TABLE {users} (
        uid serial CHECK (uid >= 0)

Дополнительные модули в таблицу users не вносили изменения?
Попробуйте изменить структуру таблицы users из дампа согласно приатаченому diff-у и удалить из дампа пользователя с uid = 0, после этого восстановить дамп.

Возможно скоро тоже прийдётся такую процедуру делать.

Аватар пользователя romandor romandor 19 февраля 2007 в 10:28

точно, почему они от автоинкремента отказались?
тогда нужно внести в sequences user_uid uid последнего пользователя.

Аватар пользователя dbzer0 dbzer0 19 февраля 2007 в 11:18

Угу, я уже разобрался, спасибо всем.
Небольшой отчет:
во первых автоинкремент в mysql:
create table 'bla' (`id` int(12) NOT NULL auto_increment, 'ku' int(20) NOT NULL default '0') AUTO_INCREMENT=2368
и автоинкремент id начинается с 2368

во вторых, в юзерс и правда нет автоинкремента Smile надо было сразу смотреть таблицу

и в третьих, вместо автоинкремента значение это хранится в sequences:
INSERT INTO `sequences` VALUES ('users_uid',3), ('menu_mid',90), ('node_nid',20), ('node_revisions_vid',20), ('vocabulary_vid',19), ('term_data_tid',20), ('comments_cid',11), ('votingapi_vote',6), ('votingapi_cache',12);

следовательно решение проблемы:
UPDATE sequences SET id = 8000 WHERE name = 'users_uid'

всем спасибо, тема закрыта