NodenY45
NoDeny
Старожил
Карма: 2
Offline
Сообщений: 365
|
|
« Ответ #180 : 04 Ноября 2018, 23:21:15 » |
|
Не могу найти HOW TO по миграции с 50.32 в мануале. Помогите. Или тут вариант "как получится"?
ООО, тебя ждет много приятных минут секса. Впрочем, если подготовка есть, то справиться реально, нужно лишь уметь читать логи и самое главное понимать что в них написано. Я такую миграцию осуществил ну раз может 10 или чуть больше, но не было ни одного одинакового случая. Поэтому братский совет - тренироваться на тестовой базе. Т.е. текущую тупо скопировать в тестовую и над ней уже проводить пробу. Именно это сейчас и делаю) очень интересно, что получится
|
|
|
Записан
|
|
|
|
NodenY45
NoDeny
Старожил
Карма: 2
Offline
Сообщений: 365
|
|
« Ответ #181 : 05 Ноября 2018, 00:07:05 » |
|
Выбивает ошибку в дебаге, не хочет редактировать админов. Unknown column 'adm_owner' in 'field list'
{ 'param' => [], 'sql' => 'SELECT a.*, c.card_balance FROM admin a LEFT JOIN (SELECT adm_owner, SUM(money) AS card_balance FROM cards WHERE alive IN(\'good\', \'activated\') GROUP BY adm_owner) c ON a.id=c.adm_owner ORDER BY a.login' }; SELECT a.*, c.card_balance FROM admin a LEFT JOIN (SELECT adm_owner, SUM(money) AS card_balance FROM cards WHERE alive IN('good', 'activated') GROUP BY adm_owner) c ON a.id=c.adm_owner ORDER BY a.login
в поиске по этой теме ничего не нашел.
|
|
|
Записан
|
|
|
|
NodenY45
NoDeny
Старожил
Карма: 2
Offline
Сообщений: 365
|
|
« Ответ #182 : 05 Ноября 2018, 08:08:58 » |
|
Вроде улицы в объектах все есть, группы, кол-во юзеров. Но админов нету ниодного, и если добавляю - не появляются, только в мускуле светятся в таблицах. Помогите, пожалуйста
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #183 : 05 Ноября 2018, 08:59:54 » |
|
Выполни в консоли: show create table cards; и покажи результат
|
|
|
Записан
|
|
|
|
Cell
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1407
|
|
« Ответ #184 : 05 Ноября 2018, 09:02:28 » |
|
Пишет же что нет поля 'adm_owner' в таблице cards
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #185 : 05 Ноября 2018, 11:10:01 » |
|
Пишет же что нет поля 'adm_owner' в таблице cards
так чтобы 2 раза не вставать можно увидеть несоответствия и по другим полям
|
|
|
Записан
|
|
|
|
NodenY45
NoDeny
Старожил
Карма: 2
Offline
Сообщений: 365
|
|
« Ответ #186 : 05 Ноября 2018, 19:32:39 » |
|
Выполни в консоли: show create table cards; и покажи результат mysql> show create table cards; +-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | cards | CREATE TABLE `cards` ( `cid` int(10) unsigned NOT NULL AUTO_INCREMENT, `cod` tinytext CHARACTER SET cp1251 NOT NULL, `money` float(6,2) NOT NULL DEFAULT '0.00', `tm_create` int(11) unsigned NOT NULL DEFAULT '0', `tm_end` int(11) unsigned NOT NULL DEFAULT '0', `tm_activate` int(11) unsigned NOT NULL DEFAULT '0', `tm_move` int(11) unsigned DEFAULT '0', `adm_create` mediumint(8) unsigned NOT NULL DEFAULT '0', `alive` enum('good','bad','stock','activated') NOT NULL DEFAULT 'good', `uid_activate` int(10) unsigned NOT NULL DEFAULT '0', `r` mediumint(9) NOT NULL DEFAULT '0', PRIMARY KEY (`cid`), KEY `r` (`r`) ) ENGINE=InnoDB AUTO_INCREMENT=136000 DEFAULT CHARSET=utf8 COMMENT='rev_0' | +-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #187 : 05 Ноября 2018, 22:53:16 » |
|
ALTER TABLE cards CHANGE cod cod TEXT NOT NULL; ALTER TABLE cards CHANGE r adm_owner MEDIUMINT(9) UNSIGNED NOT NULL DEFAULT '0'; ALTER TABLE cards ADD adm_move MEDIUMINT UNSIGNED NOT NULL DEFAULT '0' AFTER adm_owner; ALTER TABLE cards ADD INDEX (adm_move); ALTER TABLE cards ADD UNIQUE (cod(36));
|
|
|
Записан
|
|
|
|
NodenY45
NoDeny
Старожил
Карма: 2
Offline
Сообщений: 365
|
|
« Ответ #188 : 05 Ноября 2018, 23:39:36 » |
|
ALTER TABLE cards CHANGE cod cod TEXT NOT NULL; ALTER TABLE cards CHANGE r adm_owner MEDIUMINT(9) UNSIGNED NOT NULL DEFAULT '0'; ALTER TABLE cards ADD adm_move MEDIUMINT UNSIGNED NOT NULL DEFAULT '0' AFTER adm_owner; ALTER TABLE cards ADD INDEX (adm_move); ALTER TABLE cards ADD UNIQUE (cod(36)); Как то так: mysql> ALTER TABLE cards CHANGE cod cod TEXT NOT NULL; Query OK, 135951 rows affected (1.23 sec) Records: 135951 Duplicates: 0 Warnings: 0
mysql> ALTER TABLE cards CHANGE r adm_owner MEDIUMINT(9) UNSIGNED NOT NULL DEFAULT '0'; ERROR 1264 (22003): Out of range value for column 'adm_owner' at row 11937
mysql> ALTER TABLE cards ADD adm_move MEDIUMINT UNSIGNED NOT NULL DEFAULT '0' AFTER adm_owner; ERROR 1054 (42S22): Unknown column 'adm_owner' in 'cards'
mysql> ALTER TABLE cards ADD INDEX (adm_move); ERROR 1072 (42000): Key column 'adm_move' doesn't exist in table
mysql> ALTER TABLE cards ADD UNIQUE (cod(36)); Query OK, 0 rows affected (0.52 sec) Records: 0 Duplicates: 0 Warnings: 0
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #189 : 06 Ноября 2018, 08:07:31 » |
|
Вероятно у тебя в таблице с картами, у какой-то карты id оператора некорректный (видимо отрицательный). Либо, возможно, отрицательный id оператора устанавливается когда карточки в состоянии перемещения (уже не помню, дохера лет прошло с той старой версии). Попробуй так: UPDATE cards SET r=ABS(r); Отпиши в форум результат выполнения - если что я в скрипт перехода добавлю. ALTER TABLE cards CHANGE r adm_owner MEDIUMINT(9) UNSIGNED NOT NULL DEFAULT '0'; Если этот запрос выдаст ошибку, то: ALTER TABLE cards CHANGE r adm_owner INT(11) NOT NULL DEFAULT '0'; И в конце в любом случае: ALTER TABLE cards ADD adm_move MEDIUMINT UNSIGNED NOT NULL DEFAULT '0' AFTER adm_owner; ALTER TABLE cards ADD INDEX (adm_move);
|
|
|
Записан
|
|
|
|
NodenY45
NoDeny
Старожил
Карма: 2
Offline
Сообщений: 365
|
|
« Ответ #190 : 06 Ноября 2018, 10:42:28 » |
|
Вероятно у тебя в таблице с картами, у какой-то карты id оператора некорректный (видимо отрицательный). Либо, возможно, отрицательный id оператора устанавливается когда карточки в состоянии перемещения (уже не помню, дохера лет прошло с той старой версии). Попробуй так: UPDATE cards SET r=ABS(r); Отпиши в форум результат выполнения - если что я в скрипт перехода добавлю. ALTER TABLE cards CHANGE r adm_owner MEDIUMINT(9) UNSIGNED NOT NULL DEFAULT '0'; Если этот запрос выдаст ошибку, то: ALTER TABLE cards CHANGE r adm_owner INT(11) NOT NULL DEFAULT '0'; И в конце в любом случае: ALTER TABLE cards ADD adm_move MEDIUMINT UNSIGNED NOT NULL DEFAULT '0' AFTER adm_owner; ALTER TABLE cards ADD INDEX (adm_move);
Вот есть такие карты, это еще наверное с 45ой версии ) скрин в приложении
|
|
« Последнее редактирование: 06 Ноября 2018, 11:03:30 от NodenY45 »
|
Записан
|
|
|
|
NodenY45
NoDeny
Старожил
Карма: 2
Offline
Сообщений: 365
|
|
« Ответ #191 : 06 Ноября 2018, 10:58:22 » |
|
Вероятно у тебя в таблице с картами, у какой-то карты id оператора некорректный (видимо отрицательный). Либо, возможно, отрицательный id оператора устанавливается когда карточки в состоянии перемещения (уже не помню, дохера лет прошло с той старой версии). Попробуй так: UPDATE cards SET r=ABS(r); Отпиши в форум результат выполнения - если что я в скрипт перехода добавлю. ALTER TABLE cards CHANGE r adm_owner MEDIUMINT(9) UNSIGNED NOT NULL DEFAULT '0'; Если этот запрос выдаст ошибку, то: ALTER TABLE cards CHANGE r adm_owner INT(11) NOT NULL DEFAULT '0'; И в конце в любом случае: ALTER TABLE cards ADD adm_move MEDIUMINT UNSIGNED NOT NULL DEFAULT '0' AFTER adm_owner; ALTER TABLE cards ADD INDEX (adm_move);
После этих строк, все завелось с первого раза. Осталось маки перенести. Есть одно но, нету паролей, в 50.32 нету pswdkey в sat.cfg, соотвественно и сюда не прописывал. И еще в некоторых английских логинах появились знаки восклицания в конце, странно.
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #192 : 06 Ноября 2018, 11:04:57 » |
|
Знаки восклицания - это когда с таким же логином есть админ
|
|
|
Записан
|
|
|
|
NodenY45
NoDeny
Старожил
Карма: 2
Offline
Сообщений: 365
|
|
« Ответ #193 : 07 Ноября 2018, 07:41:05 » |
|
По поводу переносу маков(Установил модуль ДХЦП): Выполняю запрос SELECT parent_id,field_value FROM dopdata WHERE field_alias='_mac'; Вижу таблицу маков. Далее по примеру из поисков в этой теме выполняю запрос на перенос маков: INSERT INTO mac_uid (uid,mac) (SELECT parent_id, REPLACE(field_value,':','') FROM dopdata WHERE field_alias='_mac') ON DUPLICATE KEY UPDATE uid=parent_id;
ERROR 1364 (HY000): Field 'ip' doesn't have a default value Но мне выдает ошибку по поводу айпи. Сейчас заметил, что у клиента теперь две вкладки "подключение" и "айпи адрес", и там и там есть выбор адреса, но при миграции всем создало адрес на вкладке "айпи адрес". Проясните, пожалуйста.
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #194 : 07 Ноября 2018, 08:18:37 » |
|
Поле ip адрес: - в таблице ip_pool - это реально привязанный к учетке ip
- в таблице mac_uid - он временно используется системой в ситуации когда выдан ip по неизвестному маку, потом после ввода логина и пароля этот ip привязывается как динамический в таблице ip_pool. На странице "подключения" тоже можно ввести ip и он будет записан в mac_uid, но это пока тестовая вещь и пока не дотестирована.
Тебе не нужно переносить ip в mac_uid, а только в ip_pool. В mac_uid ставь ip=0.
|
|
|
Записан
|
|
|
|
|