Tooreagen
|
|
« : 06 Ноября 2015, 13:53:30 » |
|
Привет! Настроил полностью с нуля всю систему, установил биллинг, перенес базу. Все нормально но при создании учетки клиента, показывает ошибку: Произошла временная ошибка. Попробуйте повторить запрос. Debug режим показывает 1 ошибку: Field 'name' doesn't have a default value
{ 'sql' => 'INSERT INTO users SET modify_time=UNIX_TIMESTAMP(), grp=?, contract=?, block_if_limit=?, limit_balance=?, cstate=?, fio=?, state=?, lstate=?, comment=?, passwd=AES_ENCRYPT(?,?)', 'param' => [ 1, '1/9/16', 1, '0', 1, '', 'on', 0, '', '98455699k', 'hardpass' ] }; INSERT INTO users SET modify_time=UNIX_TIMESTAMP(), grp='1', contract='1/9/16', block_if_limit='1', limit_balance='0', cstate='1', fio='', state='on', lstate='0', comment='', passwd=AES_ENCRYPT('98455699k','hardpass')
В MySQL не силен, подскажите что может быть?
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #1 : 06 Ноября 2015, 17:26:21 » |
|
у тебя скорее всего не последняя версия NoDeny+, в последних версиях в таблице users поле name имеет дефолтовое значение, см. в bill.sql: CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(64) CHARACTER SET utf8 NOT NULL DEFAULT '', ...
|
|
|
Записан
|
|
|
|
Tooreagen
|
|
« Ответ #2 : 07 Ноября 2015, 10:43:48 » |
|
Обновил на рабочем и на новом серваке биллинг. Ревизия 372. Сделал бекап, переношу. Не помогло... Такая же ошибка, и еще случайно заметил, хотел удалить платеж, тоже ошибка: ield 'comment' doesn't have a default value
{ 'param' => [ '$VAR1 = {\'cash\' => \'150.00\',\'category\' => \'99\',\'creator_id\' => \'577\',\'reason\' => \'3225\',\'mid\' => \'577\',\'creator_ip\' => \'2886732872\',\'creator\' => \'user\',\'del_info\' => {\'admin\' => \'1\',\'time\' => 1446885670,\'ip\' => \'188.239.253.145\'},\'id\' => \'33873\',\'comment\' => \'\',\'time\' => \'1446837364\'};', 'user', '577', '2886732872', '1446837364', '577' ], 'sql' => 'INSERT INTO pays SET category=400, reason=?, creator=?, creator_id=?, creator_ip=?, time=?, mid=?' }; INSERT INTO pays SET category=400, reason='$VAR1 = {\'cash\' => \'150.00\',\'category\' => \'99\',\'creator_id\' => \'577\',\'reason\' => \'3225\',\'mid\' => \'577\',\'creator_ip\' => \'2886732872\',\'creator\' => \'user\',\'del_info\' => {\'admin\' => \'1\',\'time\' => 1446885670,\'ip\' => \'188.239.253.145\'},\'id\' => \'33873\',\'comment\' => \'\',\'time\' => \'1446837364\'};', creator='user', creator_id='577', creator_ip='2886732872', time='1446837364', mid='577'
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #3 : 07 Ноября 2015, 11:30:08 » |
|
Да, забыл изменить поле в таблице pays. Эти изменения в последних mysql постоянно вылазят... Выполни: alter table pays change `comment` `comment` varchar(8192) NOT NULL DEFAULT '';
|
|
|
Записан
|
|
|
|
Tooreagen
|
|
« Ответ #4 : 07 Ноября 2015, 11:39:12 » |
|
С платежами решилось, спасибо! С созданием учетки осталась та-же трабла( Если нужно, версия Mysql
mysql Ver 14.14 Distrib 5.6.26, for FreeBSD9.3 (amd64) using EditLine wrapper
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #5 : 07 Ноября 2015, 14:00:02 » |
|
|
|
|
Записан
|
|
|
|
Tooreagen
|
|
« Ответ #6 : 07 Ноября 2015, 15:44:44 » |
|
mysql> show create table users; +-------+---------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +-------+---------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------+ | users | CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(64) NOT NULL, `passwd` varchar(64) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL, `grp` tinyint(4) unsigned NOT NULL DEFAULT '0', `contract` tinytext NOT NULL, `contract_date` int(10) unsigned NOT NULL, `state` enum('off','on') NOT NULL DEFAULT 'on', `balance` float(10,2) NOT NULL DEFAULT '0.00', `limit_balance` float(6,2) NOT NULL DEFAULT '0.00', `block_if_limit` tinyint(4) NOT NULL DEFAULT '0', `modify_time` int(11) NOT NULL DEFAULT '0', `fio` tinytext NOT NULL, `discount` tinyint(4) NOT NULL DEFAULT '0', `cstate` int(11) NOT NULL DEFAULT '0', `cstate_time` int(10) unsigned NOT NULL, `comment` text NOT NULL, `lstate` tinyint(4) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`), KEY `state` (`state`) ) ENGINE=InnoDB AUTO_INCREMENT=798 DEFAULT CHARSET=utf8 | +-------+---------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #7 : 07 Ноября 2015, 16:44:31 » |
|
Видишь: `name` varchar(64) NOT NULL, Все таки ты не обновил биллинг. Рекомендую обновить
|
|
|
Записан
|
|
|
|
Tooreagen
|
|
« Ответ #8 : 08 Ноября 2015, 09:00:53 » |
|
Делаю: root@vps:~ # cd /usr/local/nodeny root@vps:/usr/local/nodeny # svn up Updating '.': U bill.sql Updated to revision 373. root@vps:/usr/local/nodeny # root@vps:/usr/local/nodeny # perl install.pl -x
Или я что-то не так делаю? Результат тот-же. | users | CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(64) NOT NULL, `passwd` varchar(64) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL, `grp` tinyint(4) unsigned NOT NULL DEFAULT '0', `contract` tinytext NOT NULL, `contract_date` int(10) unsigned NOT NULL, `state` enum('off','on') NOT NULL DEFAULT 'on', `balance` float(10,2) NOT NULL DEFAULT '0.00', `limit_balance` float(6,2) NOT NULL DEFAULT '0.00', `block_if_limit` tinyint(4) NOT NULL DEFAULT '0', `modify_time` int(11) NOT NULL DEFAULT '0', `fio` tinytext NOT NULL, `discount` tinyint(4) NOT NULL DEFAULT '0', `cstate` int(11) NOT NULL DEFAULT '0', `cstate_time` int(10) unsigned NOT NULL, `comment` text NOT NULL, `lstate` tinyint(4) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`), KEY `state` (`state`) ) ENGINE=InnoDB AUTO_INCREMENT=798 DEFAULT CHARSET=utf8 | +
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #9 : 08 Ноября 2015, 11:33:06 » |
|
В bill.sql содержится структура базы данных. install.pl -x устанавливает модули. Если почитать документацию, то становится понятно где используется bill.sql: Выполняем в консоли mysql:
create database nodeny; use nodeny; source /usr/local/nodeny/bill.sql; Поскольку ты "Настроил полностью с нуля всю систему", то тебе следовало грохнуть бд и запустить заново bill.sql. На данном этапе проще всего сделать: alter table users change `name` `name` varchar(64) CHARACTER SET utf8 NOT NULL DEFAULT '';
|
|
|
Записан
|
|
|
|
Tooreagen
|
|
« Ответ #10 : 09 Ноября 2015, 14:35:39 » |
|
Или я дурак, или лыжи не едут!!?? Не работают оба метода! Дропнул базу, создал базу, создал структуру, загрузил данные с дампа и нифига. Сами данные есть но та-же ошибка. СТОП! Походу в другой таблице теперь проблема: Field 'contract_date' doesn't have a default value
{ 'sql' => 'INSERT INTO users SET modify_time=UNIX_TIMESTAMP(), state=?, grp=?, fio=?, comment=?, limit_balance=?, cstate=?, contract=?, lstate=?, block_if_limit=?, passwd=AES_ENCRYPT(?,?)', 'param' => [ 'on', 1, '', '', '0', 1, '1/9/17', 0, 1, 'q876177n3j', 'hardpass' ] }; INSERT INTO users SET modify_time=UNIX_TIMESTAMP(), state='on', grp='1', fio='', comment='', limit_balance='0', cstate='1', contract='1/9/17', lstate='0', block_if_limit='1', passwd=AES_ENCRYPT('q876177n3j','hardpass') + 0.093683 181 Db.pm::rollback
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #11 : 09 Ноября 2015, 14:39:38 » |
|
Видимо ты напутал с файлами bill.sql. Я проверил, что присутствует строка: `contract_date` int(10) unsigned NOT NULL DEFAULT 0, где видно, что дефолтовое значение есть и оно = 0
|
|
|
Записан
|
|
|
|
Tooreagen
|
|
« Ответ #12 : 09 Ноября 2015, 15:08:38 » |
|
В смысле напутал? Он один в папке /nodeny
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #13 : 09 Ноября 2015, 16:57:18 » |
|
В смысле напутал? Он один в папке /nodeny
Сожалею, но как не крути нужно использовать bill.sql из последней версии
|
|
|
Записан
|
|
|
|
Tooreagen
|
|
« Ответ #14 : 10 Ноября 2015, 11:39:40 » |
|
Версии биллинга одинаковые и последние! Вы можете прикрепить сюда последний bill.sql ?
|
|
|
Записан
|
|
|
|
|