Укажите отработанное время

Отработанное время:
Продуктивное время:
Bug 2573 - Перенос данных из rusk.ru   Make a simular bug
Summary: Перенос данных из rusk.ru
Status: CLOSED FIXED
Alias: None
Product: ИС Мироздание
Classification: Веб-разработка (Web development)
Component: База данных (show other bugs)
Version: не указана
Hardware: PC All
: P2 normal
Target Milestone: I этап
Deadline: 2008-10-21
Assignee: Алексей Матвеев
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 2453
  Show dependency treegraph
 
In work:
Reported: 2008-10-09 19:26 MSD by Vitaly Lipatov
Modified: 2009-07-26 14:33 MSD (History)
0 users

See Also:
Заявки RT:
Связано с:
Дата напоминания:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vitaly Lipatov 2008-10-09 19:26:14 MSD
1. Нужен перенос всех данных rusk.ru, в том числе новостей.
2. Нужен скрипт переноса только обновлённой информации (для запуска по крону).
Comment 1 Алексей Матвеев 2008-10-10 14:10:57 MSD
первый пункт сделан. Со вторым пока наблюдаются некоторые проблемы, но скоро будут исправлены.
Comment 2 Алексей Матвеев 2008-10-16 14:05:56 MSD
Нашёл :) Суть в том, что timestamp в базах SQL - вещь довольно абстрактная (там используется какой-то странный тип данных, сравнивать которые сложно - rowversion (timestamp)) т.е. к чему я веду - нужно конвертировать в запросе timestamp в удобоваримый формат (http://dev.mysql.com/doc/refman/5.1/en/cast-functions.html - вот так это делается) и потом уже со спокойной душой сравнивать. Сейчас запустим на тестирование.
Comment 3 Алексей Матвеев 2008-10-16 14:09:08 MSD
конвертировать будем в date, наверное.

на форуме rsdn.ru нашёл очень "горячее" обсуждение на этот счёт - http://rfd.rsdn.ru/forum/message/2024825.flat.aspx :)
Comment 4 Алексей Матвеев 2008-10-16 14:33:14 MSD
Решение проблемы здесь -
http://www.mysql.ru/docs/man/DATETIME.html

timestamp выгружается в виде YYYYMMDDHHMMSS (если это
timestamp(14) - по умолчанию в MySQL он и есть) т.е. и
для сравнения дату необходимо было
генерировать в таком же формате.
Протестировал - база наполняется. Когда
добавятся новости на rusk, протестируем уже
"на живом материале". Пока не fixed - ждём
новостей.
Comment 5 Vitaly Lipatov 2008-10-16 14:40:33 MSD
После решения общей проблемы переноса 
нужно переделать скрипт переноса на работу с PostgreSQL.
Comment 6 Vitaly Lipatov 2008-10-29 16:49:08 MSK
В скрипте переноса учесть диапазоны id, которые не надо переносить (статьи других проектов) - прочитать можно в протоколе С.М.
Comment 7 Алексей Матвеев 2008-10-30 17:31:10 MSK
Протокол? Ссылка или на e-mail можно?
Comment 8 Алексей Матвеев 2008-11-13 17:37:23 MSK
Скрипт переделан и отлажен под перенос в pg.
Comment 9 Vitaly Lipatov 2008-11-15 13:11:23 MSK
Надо разобраться и доделать скрипт переноса обновлений,
запустить его на cron.
Comment 10 Алексей Матвеев 2008-11-17 16:58:34 MSK
Наконец-то :) В общем, есть в MySQL функция TIMESTAMP('YY-MM-DD H:M:S') так вот она и переводит строку в timestamp для дальнейшего сравнения с timestamp из таблицы в БД (кстати, формат строки может и не содержать, например, часы, минуты и секунды). Всё работает, теперь нужно rusktomir.sh запускать на cron (сейчас там стоит перенос за последний день). По состоянию на 17.11.08 16:51 все данные перенесены. Полный перенос (без учёта timestamp) запускается из rusktomir_full.sh (просто дата сравнения поставлена 0000-00-00 00:00:00, а так они ничем не различаются).
Comment 11 Алексей Матвеев 2008-11-17 17:06:36 MSK
Поставили на cron rusktomir.sh, запускается через каждые 2 часа.