Проблема с БД при переносе на хостинг (потеряны таблицы?) (PDOException: SQLSTATE[42S22]: Column not found:)

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

Аватар пользователя mariya-step mariya-step 10 июля 2013 в 9:17

Друзья, здравствуйте!
У меня возникла проблема при переносе сайта. Был перезагружен аккаунт и нужно было заново залить. Все бы вроде хорошо, но после заливки возникает следующая ошибка. Я уже и отдельно друпал устанавливала, и права доступа на этот файл делала, удаляла определенные таблички, пробовала убрать модуль (полагая, что он необязательный.) Пожалуйста, помогите - что можно сделать?

Ошибка (возникает при обращении к сайту):

Additional uncaught exception thrown while handling exception.

Original

PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 's.context' in 'where clause': SELECT s.lid, t.translation, s.version FROM {locales_source} s LEFT JOIN {locales_target} t ON s.lid = t.lid AND t.language = :language WHERE s.source = :source AND s.context = :context AND s.textgroup = 'default'; Array ( [:language] => ru [:source] => Public files [:context] => ) in locale() (line 720 of /.../modules/locale/locale.module).

Additional

PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 's.context' in 'where clause': SELECT s.lid, t.translation, s.version FROM {locales_source} s LEFT JOIN {locales_target} t ON s.lid = t.lid AND t.language = :language WHERE s.source = :source AND s.context = :context AND s.textgroup = 'default'; Array ( [:language] => ru [:source] => %type: !message in %function (line %line of %file). [:context] => ) in locale() (line 720 of /.../modules/locale/locale.module).

Uncaught exception thrown in session handler.

PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'ssid' in 'where clause': SELECT 1 AS expression FROM {sessions} sessions WHERE ( (sid = :db_condition_placeholder_0) AND (ssid = :db_condition_placeholder_1) ) FOR UPDATE; Array ( [:db_condition_placeholder_0] => E4t5xMfOFLJdBDAcQ3k3MtY7ilR3_FPpAME8AKI-Nvg [:db_condition_placeholder_1] => ) in _drupal_session_write() (line 209 of /.../public_html/includes/session.inc).

Буду ОЧЕНЬ благодарна за помощь и советы! Не откажите, пожалуйста)

Комментарии

Аватар пользователя mariya-step mariya-step 10 июля 2013 в 9:42

Поменяла права доступа, еще раз удалила модуль. Теперь выскакивает
Uncaught exception thrown in session handler.

PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'ssid' in 'where clause': SELECT 1 AS expression FROM {sessions} sessions WHERE ( (sid = :db_condition_placeholder_0) AND (ssid = :db_condition_placeholder_1) ) FOR UPDATE; Array ( [:db_condition_placeholder_0] => E4t5xMfOFLJdBDAcQ3k3MtY7ilR3_FPpAME8AKI-Nvg [:db_condition_placeholder_1] => ) in _drupal_session_write() (line 209 of /home/u543644050/public_html/includes/session.inc).

Пожалуйста, подскажите, кто что знает, я пока так же буду искать ответ. Если узнаю ранее - напишу здесь.

Аватар пользователя ProMax ProMax 10 июля 2013 в 9:53

может запрос слишком большой , как базу импортировали ? если проблема в этом, то тут либо говорить с хостером что бы лимит увеличил при обращении к БД , либо разделить базу на части и попробовать импортировать кусочками по несколько табличек за раз, как вариант на локальном хосте у себя сделать экспорт табличек по 4-5 на файл и потом это все уже переносить. И да модули лучше установить-включить, а потом уже делать импорт базы по частям.

Но проще с сапортом хостера договориться Wink

Аватар пользователя mariya-step mariya-step 10 июля 2013 в 9:54

С импортом по идее проблем не должно быть. Бекап забирался с этого хостинга и заливался так же - базазаливалась в архиве на уже созданную свеженькую базу. Но я также пробовала и уже на установленный друпал отправлять - ничего не менялось.
А частично - я не пробовала еще, спасибо за идею, сейчас попробую.

Аватар пользователя mariya-step mariya-step 10 июля 2013 в 11:02

Нет, пока не помогло) Я просто поторопилась и сделала несовсем правильно и поэтому не помогло, а потом вчиталась и сейчас делаю - как сделаю, то напишу. Поэтому и стерла сообщение, чтоб потом вставить, что получилось.
А вообще - спасибо большое! что откликнулись!

Аватар пользователя Shizuku Shizuku 10 июля 2013 в 11:07

У вас там все написано в сообщениях об ошибке. Внимание на то, что после FROM - это название таблицы, в которой не найден нужный столбец.

В данном случае проблемы с таблицей sessions. Криво ваши дампы сделаны, раз структуру таблиц портят!
Импортируйте через phpmyadmin: дамп таблицы sessions.

Аватар пользователя mariya-step mariya-step 11 июля 2013 в 8:21

Всем доброе утро! Напарилась я с этим. (
Shizuku Спасибо большое, дамп действительно решил проблему с этой строчкой. Может быть, Вы смогли бы подсказать мне с остальным? Потому что я нашла здесь в drupal.ru :

CREATE TABLE `locales_source` (
`lid` int(11) NOT NULL auto_increment,
`location` varchar(255) NOT NULL default '',
`textgroup` varchar(255) NOT NULL default 'default',
`source` blob NOT NULL,
`version` varchar(20) NOT NULL default 'none',
PRIMARY KEY (`lid`),
KEY `source` (`source`(30))
) ENGINE=MyISAM AUTO_INCREMENT=3986 DEFAULT CHARSET=utf8 AUTO_INCREMENT=3986 ;

CREATE TABLE `locales_target` (
`lid` int(11) NOT NULL default '0',
`translation` blob NOT NULL,
`language` varchar(12) NOT NULL default '',
`plid` int(11) NOT NULL default '0',
`plural` int(11) NOT NULL default '0',
PRIMARY KEY (`language`,`lid`,`plural`),
KEY `lid` (`lid`),
KEY `plid` (`plid`),
KEY `plural` (`plural`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Но это не помогло.
ProMax, пробовала и так, и сяк - ему не нравится вставлять по нескольку таблиц. Может, у меня руки кривые.

Аватар пользователя Shizuku Shizuku 11 июля 2013 в 9:53

У меня такие же кривые руки как у всех, просто с чем-то опыта больше, а с чем-то - увы, нет...
Зря не слушаете совета, я объяснил как восстановить все. Понятно какие таблицы неправильные?! Видимо непонятно, где взять правильные. Ну, так это же очевидно: установить куда-нибудь в новую базу "чистый" drupal и скопировать оттуда! По крайней мере я так и делаю. Вот дампы locales_source и locales_target, обратите внимание, они для Drupal 7.22!

Аватар пользователя mariya-step mariya-step 11 июля 2013 в 11:51

Shizuku, спасибо большое. У меня как раз Drupal 7.22
Я поняла как раз, что как раз таблицы были неправильные. Эм, я ставила чистый друпал и оттуда экспортировала таблицу и уже затем заменяла в БД, но почему-то не менялось - почему я не знаю. Может быть я что-то не так делала.
Сейчас я загрузила вот эти дампы, которые Вы дали, спасибо, ошибка исчезла! Но теперь возникли другие. Непонятно как-то. Попробую еще раз.)

Аватар пользователя mariya-step mariya-step 17 июля 2013 в 14:16

Ой, друзья, спасибо! Но я напарилась, плюнула и переписала заново.
И вышло лучше.
А с хостинга того уходить буду - вот пройдет оплата в три месяца, выберу надежней платформу.