forum.bitel.ru http://forum.bitel.ru/ |
|
Нетривиальная задача http://forum.bitel.ru/viewtopic.php?f=22&t=8098 |
Страница 1 из 1 |
Автор: | borisk [ 30 май 2013, 21:33 ] |
Заголовок сообщения: | Нетривиальная задача |
Добрый день! Занимаюсь задачей переноса данных из старого биллинга в bg. Написал скрипт, все хорошо перенеслось, несколько месяцев обкатывалось в работе. Теперь подступает час X и надо делать окончательный перевод. Но проблема в том, что за эти месяцы в тестовой bg базе работали не только с договорами, но и с различными справочниками и конфигурациями модулей, приводя их к нужному, рабочему виду. Вот и встал вопрос - можно ли как-то удалить из базы только договора (и связанные с ними сущности модулей)? Посмотрел ContractManager - увы, нет там функции удаления договора. |
Автор: | Phricker [ 30 май 2013, 22:58 ] |
Заголовок сообщения: | Re: Нетривиальная задача |
Код: public void execute( Setup setup, ConnectionSet connectionSet )
throws Exception { print("Start"); Connection con = connectionSet.getConnection(); // ContractRemover cr = new ContractRemover( setup, con, null ); long timeStart = System.currentTimeMillis(); // удаление ранее загруженных договоров String query = "SELECT id FROM contract WHERE gr & (1<<?) != 0"; PreparedStatement ps = con.prepareStatement( query ); ps.setInt( 1, LOADED_GROUP ); ResultSet rs = ps.executeQuery(); int count = 0; while ( rs.next() ) { cr.deleteContract( rs.getInt( 1 ) ); ++count; } ps.close(); print( "Removed " + count + " contracts..." ); long timeEnd = System.currentTimeMillis(); print( "Process time: " + (timeEnd - timeStart)/1000 + " s." ); } |
Автор: | borisk [ 01 июн 2013, 10:37 ] |
Заголовок сообщения: | Re: Нетривиальная задача |
Спасибо! |
Автор: | borisk [ 06 июл 2013, 10:09 ] |
Заголовок сообщения: | Re: Нетривиальная задача |
Извиняюсь, вот только сейчас дошел до реализации этой задачи. Полез в доки на классы и не могу найти там ContractRemover. Какое у него полное имя? И может дока по нему какая есть? |
Автор: | Phricker [ 06 июл 2013, 13:26 ] |
Заголовок сообщения: | Re: Нетривиальная задача |
Вам как полностью код класса выложить? ![]() А в доке его нет. отправил в лс |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |