Технические вопросы по UTM 5.0
xxxupg
Сообщения: 457 Зарегистрирован: Вс май 02, 2010 10:00
Сообщение
xxxupg » Сб июл 30, 2011 08:36
Уважаемые вопрос...
сборка 007.
делаем архивацию списаний
достаточно ли просто создать потом новую таблицу так:
CREATE TABLE IF NOT EXISTS `discount_transactions_all` (
`id` int(11) NOT NULL auto_increment,
`account_id` int(11) NOT NULL default '0',
`incoming_rest` double NOT NULL default '0',
`outgoing_rest` double NOT NULL default '0',
`discount` double NOT NULL default '0',
`discount_with_tax` double NOT NULL default '0',
`service_id` int(11) NOT NULL default '0',
`service_type` int(11) NOT NULL default '0',
`discount_period_id` int(11) NOT NULL default '0',
`slink_id` int(11) NOT NULL default '0',
`discount_date` int(11) NOT NULL default '0',
`charge_type` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
или нужно чтобы в конце было обязательно:
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=99998888777;
Последний раз редактировалось
xxxupg Сб июл 30, 2011 11:40, всего редактировалось 1 раз.
xxxupg
Сообщения: 457 Зарегистрирован: Вс май 02, 2010 10:00
Сообщение
xxxupg » Сб июл 30, 2011 08:36
xxxupg писал(а): Уважаемые вопрос...
сборка 007.
делаем архивацию списаний
достаточно ли просто создать потом новую таблицу так:
CREATE TABLE IF NOT EXISTS `discount_transactions_all` (
`id` int(11) NOT NULL auto_increment,
`account_id` int(11) NOT NULL default '0',
`incoming_rest` double NOT NULL default '0',
`outgoing_rest` double NOT NULL default '0',
`discount` double NOT NULL default '0',
`discount_with_tax` double NOT NULL default '0',
`service_id` int(11) NOT NULL default '0',
`service_type` int(11) NOT NULL default '0',
`discount_period_id` int(11) NOT NULL default '0',
`slink_id` int(11) NOT NULL default '0',
`discount_date` int(11) NOT NULL default '0',
`charge_type` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
или нужно чтобы в конце было обязательно:
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=9999988887777;
lan-viper
Сообщения: 79 Зарегистрирован: Чт янв 13, 2011 20:16
Сообщение
lan-viper » Вс июл 31, 2011 23:23
Мне кажется, если не планируется в последующем восстановление старых данных, то можно без AUTO_INCREMENT, но я бы сохранял значения.
xxxupg
Сообщения: 457 Зарегистрирован: Вс май 02, 2010 10:00
Сообщение
xxxupg » Пн авг 01, 2011 00:51
на архивные таблицы и работу с ними это не повлияет? если нет то и думать не буду =)
littlesavage
Сообщения: 120 Зарегистрирован: Вс ноя 22, 2009 02:41
Откуда: Чебоксары
Сообщение
littlesavage » Пн авг 01, 2011 08:37
discount_transactions_all не нужно пересоздавать.
Из нее только select и delete должны быть запросы. Ну и Optimize table еще.
xxxupg
Сообщения: 457 Зарегистрирован: Вс май 02, 2010 10:00
Сообщение
xxxupg » Сб авг 06, 2011 18:43
littlesavage просто мне проще переименовать имеющуюся таблицу и создать новую... вариант это? тут главный вопрос AUTO_INCREMENT нужен или нет =) подскажите
ds
Сообщения: 380 Зарегистрирован: Пн сен 18, 2006 14:06
Сообщение
ds » Сб авг 06, 2011 22:05
xxxupg писал(а): littlesavage просто мне проще переименовать имеющуюся таблицу и создать новую... вариант это? тут главный вопрос AUTO_INCREMENT нужен или нет =) подскажите
Конечно. По крайней мере в 005, если в discount_transactions_all и discount_transactions_iptraffic_all не совпадали индексы, все стояло колом. Было такое после выключеиня питания, пришлось удалить несколько записей, чтобы выравнять значения.
Мне кажется, имеет значение только одинаковый автоинермент в этих таблиц.
JAO
Сообщения: 1153 Зарегистрирован: Вт дек 11, 2007 08:17
Сообщение
JAO » Пт авг 19, 2011 15:27
Попробуйте так.
CREATE TABLE dta LIKE discount_transactions_all
Затем сравните значения автоинкремента в этих двух таблицах. Если одинаковое, значит, оно копируется и это то, что Вам надо.
Быстрое свертывание таблицы с созданием новой можно делать так:
ALTER TABLE discount_transactions_all RENAME TO dta;
CREATE TABLE discount_transactions_all LIKE dta;
Более подробно в этой теме:
viewtopic.php?t=8316
xxxupg
Сообщения: 457 Зарегистрирован: Вс май 02, 2010 10:00
Сообщение
xxxupg » Чт авг 25, 2011 13:10
Уважаемые... подскажите, создаю архивные таблицы, в отчётах по диал-ап пусто за период а в платежах всё ок...
в чём может быть проблема? очень нужно чтобы всё было
JAO
Сообщения: 1153 Зарегистрирован: Вт дек 11, 2007 08:17
Сообщение
JAO » Пт авг 26, 2011 05:48
Причин может быть четыре.
1) нет данных в архивной таблице
2) нет самой архивной таблицы
3) нет записи для этой таблицы в archives
4) ошибка в ядре UTM (это уже к разработчикам)
xxxupg
Сообщения: 457 Зарегистрирован: Вс май 02, 2010 10:00
Сообщение
xxxupg » Пт авг 26, 2011 10:46
Сталкивался ли кто-нибудь при архивации с пунктом №4 ?
JAO
Сообщения: 1153 Зарегистрирован: Вт дек 11, 2007 08:17
Сообщение
JAO » Пт авг 26, 2011 11:00
Я сталкивался. При переходе с версии 006 на версию 007, если уже использовалась архивация, переставали выдаваться платежи, хотя в базе они были. Приходилось раскладывать ручками в согласии с границами архивов, и тогда они появлялись в отчетах. После этого написал конвертер архива для перехода с 006 на 007.
xxxupg
Сообщения: 457 Зарегистрирован: Вс май 02, 2010 10:00
Сообщение
xxxupg » Пт авг 26, 2011 15:15
как я понимаю.... архивы должны быть одинакового периода? т.е. с 01.01.11 до 01.02.11 так?
JAO
Сообщения: 1153 Зарегистрирован: Вт дек 11, 2007 08:17
Сообщение
JAO » Пт авг 26, 2011 15:59
Да. У каждой группы таблиц в архиве должен быть одинаковый archive_id и одинаковые start_date и end_date.