>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Bugzilla http://forum.mozilla-russia.org/viewforum.php?id=35 >Перенос базы Bugzilla 2.20 на версию 3.2 rc1 http://forum.mozilla-russia.org/viewtopic.php?id=27142 |
Tuchka_84 > 19-10-2008 21:52:20 |
Здравствуйте, Есть необходимость перенести базу из версии Bugzilla 2.20 на Bugzilla 3.2 rc1. Выделить код Код:Table fixes_prefs does not exist in the database schema. at Bugzilla/DB/Schema.pm line 1632. Для некоторых таблиц выдавал ошибку: Выделить код Код:Failed to guess: Key: H5tZ9TgOJt8GVKZKGLuA1w DATA: ц▌ц╦ц╗ц║ц╙ц═ Row: [bug_id = 11831] Если кто-нибудь сталкивался с этим или есть какие-нибудь предположения помогите. Заранее спасибо! |
SnowyOwl > 20-10-2008 07:07:39 |
В какой кодировке БД от 2.20? Был ли на 2.20 включен параметр 'utf8'? В каких именно таблицах значения на русском, которые надо спасти? О запуске какой версии checksetup.pl идет речь? |
Al_H > 20-10-2008 16:53:10 |
Дорогая Tuchka_84, а откуда вообще взялся koi8-r? По идее, там должна быть кодировка либо cp1251 с игнорированием регистра или с бинарным поиском, или кодировка utf8. |
Tuchka_84 > 20-10-2008 22:55:21 |
SnowyOwl пишет
Здравствуйте, Как в Mysql посмотреть в какой кодировке отдельная база данных? (Bugzilla 2.20 установлена на чужой машине на Windows, к этой машине я доступа не имею, но все что нужно могу спросить. Мне выслали .sql dump этой базы данных. Если в самом sql файле можно найти в какой кодировке БД, то скажите как). SnowyOwl пишет
На моей машине стоит только Bugzilla 3,2rc1. Заранее спасибо. |
Al_H > 21-10-2008 01:07:52 |
Здравствуйте, Tuchka_84, а не поставить ли Вам что-то вроде phpMyAdmin? |
SnowyOwl > 21-10-2008 08:02:44 |
Tuchka_84 пишет
Настоятельно рекомендую разделить два процесса: перенос базы в новую среду и upgrade до 3.2rc1. Установите на своей машине 2.20 и проимпортируйте базу туда. Станет понятно, был ли включен параметр 'utf8', кроме того, удастся выявить возможную разницу в настройках MySQL. Параметр в 2.20 живет в том же месте что и в 3.2rc1. Как только 2.20 заработает не хуже исходного -- включаем там utf8 (если не был включен) и запускаем checksetup.pl от 2.20. После этого уже пробуем upgrade до 3.2rc1 и checksetup.pl, recode.pl, checksetup.pl См. также |
Tuchka_84 > 22-10-2008 08:42:28 |
SnowyOwl пишет
Хорошо. Буду пытаться установить 2.20. Как что-нибудь получится напишу. |
Tuchka_84 > 01-11-2008 20:11:49 |
SnowyOwl пишет
Установила версию 2.20 на винду , установила туда базу .Все стало работать как на сервере (откуда была скопирована база). В багзиле utf8 был отключен. Выделить код Код:Current database: bugs Current user: root@localhost SSL: Not in use Server version: 4.0.21-nt-log Protocol version: 10 Connection: localhost vi Client characterset: latin1 Server characterset: latin1 Затем зашла в эту багзилу 2.20 и включила в настройках utf8. Запустила checksetup.pl : Выделить код Код:C:\root\www\bugs>perl checksetup.pl Checking perl modules ... Checking for AppConfig (v1.52) ok: found v1.55 Checking for CGI (v2.93) ok: found v3.04 Checking for Data::Dumper (any) ok: found v2.121 Checking for Date::Format (v2.21) ok: found v2.22 Checking for DBI (v1.38) ok: found v1.50 Checking for File::Spec (v0.84) ok: found v0.87 Checking for File::Temp (any) ok: found v0.14 Checking for Template (v2.08) ok: found v2.13 Checking for Text::Wrap (v2001.0131) ok: found v2001.09291 Checking for Mail::Mailer (v1.67) ok: found v1.74 Checking for MIME::Base64 (v3.01) ok: found v3.01 Checking for MIME::Tools (v5.406) ok: found v5.411 Checking for Storable (any) ok: found v2.12 The following Perl modules are optional: Checking for GD (v1.20) ok: found v2.16 Checking for Chart::Base (v1.0) ok: found v2.3 Checking for XML::Twig (any) ok: found v3.22 Checking for GD::Graph (any) ok: found v1.43 Checking for GD::Text::Align (any) ok: found v1.18 Checking for PatchReader (v0.9.4) ok: found v0.9.5 Checking for Image::Magick (any) not found All the required modules are available at: http://landfill.bugzilla.org/ppm/ You can add the repository with the following command: ppm rep add bugzilla http://landfill.bugzilla.org/ppm/ If you want to convert BMP image attachments to PNG to conserve disk space, you will need to install the ImageMagick application Available from http://www.imagemagick.org, and the Image::Magick Perl module by running (as Administrator): ppm install Image::Magick Checking user setup ... Removing existing compiled templates ... Precompiling templates ... Checking for DBD::mysql (v2.9003) ok: found v3.0002 Checking for MySQL (v4.0.14) ok: found v4.0.21-nt-log Cleaning control characters from bug summaries... 6087... 27003... 27026... 27044... 27060... 27067. .. 27070... 27075... 27080... 27081... 27083... 27084... 27091... 27092... 27103... 27105... 27108.. . 27124... 27128... 27145... 27146... 27149... 27150... 27151... 27152... 27153... 27154... 27157... 27158... 27162... 27170... 27176... 27182... 27199... 27200... 27201... 27202... 27206... 27211... 27215... 27219... 27220... 27221... 27228... 27235... 27240... 27242... 27245... 27250... 27252... 2 7260... 27268... 27271... 27272... 27273... 27275... 27283... 27290... 27291... 27295... 27307... 27 328... 27340... 27342... 27343... 27345... 27352... 27353... 27354... 27355... 27359... 27363... 273 69... 27372... 27380... 27382... 27383... 27384... 27385... 27409... 27428... 27438... 27450... 2745 1... 27454... 27457... 27460... 27462... 27463... 27464... 27465... 27467... 27468... 27469... 27470 ... 27475... 27477... 27479... 27480... 27482... 27483... 27484... 27485... 27486... 27487... 27488. .. 27489... 27494... 27497... 27498... 27505... 27507... 27511... 27516... 27517... 27520... 27524.. . 27534... 27536... 27538... 27540... 27544... 27549... 27553... 27554... 27555... 27556... 27557... 27559... 27560... 27562... 27565... 27568... 27569... 27570... 27571... 27583... 27586... 27588... 27598... 27600... 27603... 27607... 27608... 27609... 27610... 27618... 27621... 27624... 27625... 2 7626... 27633... 27637... 27638... 27639... 27640... 27646... 27647... 27648... 27654... 27655... 27 656... 27658... 27659... 27666... 27667... 27669... 27670... 27671... 27672... 27673... 27678... 276 79... 27691... 27692... 27693... 27694... 27695... 27696... 27697... 27701... 27705... 27706... 2770 7... 27708... 27709... 27710... 27711... 27713... 27714... 27715... 27717... 27718... 27719... 27720 ... 27723... 27726... 27728... 27729... 27731... 27732... 27735... 27736... 27737... 27738... 27739. .. 27744... 27745... 27746... 27747... 27748... 27749... 27750... 27751... 27752... 27753... 27754.. . 27755... 27759... 27761... 27762... 27766... 27767... 27768... 27769... 27770... 27771... 27775... 27777... 27778... 27779... 27780... 27781... 27784... 27785... 27786... 27787... 27788... 27798... 27799... 27800... 27804... 27805... 27816... 27819... 27822... 27823... 27824... 27825... 27826... 2 7827... 27828... 27829... 27830... 27831... 27832... 27833... 27836... 27837... 27850... 27853... 27 855... 27858... 27867... 27868... 27900... 27901... 27902... 27903... 27905... 27911... 27913... 279 16... 27919... 27920... 27923... 27924... 27926... 27931... 27935... 27940... 27949... 27956... 2797 7... 27982... 27985... 28000... 28012... 28045... 28053... 28054... 28081... 28094... 28095... 28104 ... 28109... 28110... 28116... 28124... 28125... 28126... 28147... 28158... 28159... 28160... 28168. .. 28179... 28184... 28190... 28208... 28220... 28236... 28237... 28238... 28239... 28246... 28248.. . 28249... 28250... 28251... 28271... 28272... 28273... 28274... 28276... 28279... 28291... 28294... 28302... 28311... 28320... 28321... 28322... 28337... 28340... 28343... 28346... 28347... 28352... 28353... 28354... 28356... 28361... 28362... 28363... 28369... 28375... 28383... 28386... 28389... 2 8394... 28396... 28397... 28398... 28399... 28400... 28402... 28403... 28405... 28406... 28407... 28 408... 28409... 28410... 28420... 28421... 28422... 28435... 28436... 28441... 28442... 28443... 284 45... 28446... 28447... 28448... 28449... 28451... 28454... 28456... 28457... 28464... 28477... 2847 8... 28479... 28480... 28483... 28484... 28486... 28492... 28499... 28501... 28504... 28545... 28560 ... 28572... 28573... 28574... 28587... 28594... 28596... 28610... 28612... 28643... 28644... 28650. .. 28651... 28652... 28653... 28658... 28666... 28680... 28695... 28696... 28699... 28704... 28706.. . 28716... 28720... 28722... 28726... 28732... 28735... 28742... 28743... 28763... 28768... 28770... 28771... 28772... 28775... 28779... 28780... 28786... 28789... 28791... 28792... 28793... 28795... 28799... 28809... 28810... 28811... 28812... 28813... 28814... 28815... 28822... 28824... 28833... 2 8838... 28842... 28856... 28862... 28873... 28875... 28879... 28913... 28914... 28917... 28918... 28 921... 28922... 28927... 28938... 28940... 28945... 28947... 28948... 28953... 28960... 28961... 289 63... 28966... 28969... 28970... 28972... 28974... 28975... 28978... 28979... 28982... 28983... 2898 5... 28988... 28989... 28990... 28991... 28992... 28993... 28996... 28997... 28999... 29000... 29001 ... 29002... 29003... 29004... 29006... 29007... 29008... 29028... 29039... 29040... 29041... 29043. .. 29044... 29045... 29052... 29054... 29055... 29057... 29060... 29064... 29067... 29068... 29071.. . 29073... 29074... 29075... 29076... 29077... 29078... 29080... 29082... 29083... 29084... 29085... 29086... 29089... 29090... 29093... 29095... 29098... 29099... 29100... 29101... 29102... 29107... 29118... 29133... 29134... 29135... 29140... 29141... 29142... 29145... 29147... 29150... 29151... 2 9152... 29153... 29154... 29157... 29159... 29171... 29177... 29180... 29181... 29186... 29187... 29 188... 29189... 29194... 29195... 29196... 29197... 29201... 29202... 29203... 29204... 29205... 292 06... 29207... 29208... 29209... 29210... 29211... 29212... 29217... 29219... 29221... 29225... 2922 6... 29228... 29230... 29231... 29233... 29234... 29235... 29237... 29238... 29239... 29240... 29241 ... 29243... 29244... 29245... 29248... 29252... 29256... 29259... 29260... 29263... 29279... 29280. .. 29283... 29285... 29296... 29299... 29300... 29308... 29309... 29310... 29312... 29313... 29315.. . 29316... 29317... 29318... 29321... 29323... 29324... 29325... 29326... 29328... 29330... 29333... 29334... 29336... 29338... 29346... 29352... 29355... 29356... 29364... 29367... 29368... 29369... 29371... 29372... 29374... 29375... 29376... 29380... 29381... 29382... 29383... 29390... 29392... 2 9393... 29399... 29400... 29401... 29402... 29403... 29417... 29420... 29421... 29422... 29423... 29 424... 29430... 29431... 29432... 29437... 29438... 29439... 29441... 29444... 29455... 29457... 294 76... 29480... 29481... 29484... 29493... 29507... 29518... 29524... 29527... 29529... 29530... 2953 2... 29533... 29555... 29556... 29557... 29558... 29563... 29568... 29569... 29579... 29580... 29581 ... 29583... 29584... 29586... 29590... 29593... 29595... 29596... 29597... 29598... 29600... 29601. .. 29602... 29603... 29605... 29606... 29607... 29608... 29609... 29610... 29611... 29612... 29614.. . 29615... 29616... 29617... 29618... 29619... 29620... 29628... 29632... 29633... 29637... 29658... 29665... 29668... 29669... 29671... 29672... 29673... 29675... 29682... 29685... 29686... done. Now that you have installed Bugzilla, you should visit the 'Parameters' page (linked in the footer of the Administrator account) to ensure it is set up as you wish - this includes setting the 'urlbase' option to the correct url. C:\root\www\bugs> После этого опять зашла в багзилу 2.20 все стало "аброкодаброй"(квадратиками). В Эксплорере по умолчанию стала указана кодировка utf8.Если там выбираю Кирилица (Windows), то отображается корректно. Заранее спасибо. |
SnowyOwl > 05-11-2008 07:20:26 |
Tuchka_84 пишет
Да, именно так. Сомнения только в одновременном апгрейде MySQL и Bugzilla, но об этом будем думать только если текущий замысел не пройдет почему-либо. |
Tuchka_84 > 06-11-2008 16:59:27 |
Вопрос(может быть глупый): На новом сервере Mysql пустую базу bugs создать с character set = utf8 или character set = latin1 (базу в которую буду делать импорт)? Когда устанавливаю bugzilla 3.2 rc1 она создает базу именно с character set = utf8. Могу попробовать оба способа. |
Tuchka_84 > 09-11-2008 20:05:05 |
Результат остался тем же самым . Выделить код Код:mysql> use bugs; Database changed mysql> status; -------------- mysql Ver 14.14 Distrib 5.1.26-rc, for portbld-freebsd7.0 (i386) using 5.2 Connection id: 2 Current database: bugs Current user: root@localhost SSL: Not in use Current pager: more Using outfile: '' Using delimiter: ; Server version: 5.1.26-rc-log FreeBSD port: mysql-server-5.1.26 Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: latin1 Db characterset: latin1 Client characterset: latin1 Conn. characterset: latin1 UNIX socket: /tmp/mysql.sock Uptime: 3 min 59 sec 4.Заменила в localconfig имя базы на эту базу. Выделить код Код:Converting table bugs_on_date... DBD::mysql::db do failed: The used table type doesn't support FULLTEXT indexes [for Statement "ALTER TABLE bugs_on_date TYPE = InnoDB"] at Bugzilla/DB/Mysql.pm line 298 Bugzilla::DB::Mysql::bz_setup_database('Bugzilla::DB::Mysql=HASH(0x94aa1f0)') called at ./checksetup.pl line 143 freeserver# 7.Эта таблица в этой базе создается командой: Выделить код Код:CREATE TABLE `bugs_on_date` ( `bug_id` mediumint(9) NOT NULL auto_increment, `assigned_to` mediumint(9) NOT NULL default '0', `assigned` tinytext NOT NULL, `bug_file_loc` text, `bug_severity` varchar(64) NOT NULL default '', `bug_status` varchar(64) NOT NULL default '', `creation_ts` datetime default NULL, `delta_ts` datetime NOT NULL default '0000-00-00 00:00:00', `short_desc` mediumtext NOT NULL, `op_sys` varchar(64) NOT NULL default '', `priority` varchar(64) NOT NULL default '', `product_id` smallint(6) NOT NULL default '0', `product` tinytext NOT NULL, `rep_platform` varchar(64) NOT NULL default '', `reporter` mediumint(9) NOT NULL default '0', `version` varchar(64) NOT NULL default '', `component_id` smallint(6) NOT NULL default '0', `component` tinytext NOT NULL, `resolution` varchar(64) NOT NULL default '', `target_milestone` varchar(20) NOT NULL default '---', `qa_contact` mediumint(9) default NULL, `contact` tinytext NOT NULL, `status_whiteboard` mediumtext NOT NULL, `votes` mediumint(9) NOT NULL default '0', `keywords` mediumtext NOT NULL, `lastdiffed` datetime default NULL, `everconfirmed` tinyint(4) NOT NULL default '0', `reporter_accessible` tinyint(4) NOT NULL default '1', `cclist_accessible` tinyint(4) NOT NULL default '1', `estimated_time` decimal(5,2) NOT NULL default '0.00', `remaining_time` decimal(5,2) NOT NULL default '0.00', `deadline` datetime default NULL, `alias` varchar(20) default NULL, PRIMARY KEY (`bug_id`), UNIQUE KEY `bugs_alias_idx` (`alias`), KEY `bugs_assigned_to_idx` (`assigned_to`), KEY `bugs_creation_ts_idx` (`creation_ts`), KEY `bugs_delta_ts_idx` (`delta_ts`), KEY `bugs_bug_severity_idx` (`bug_severity`), KEY `bugs_bug_status_idx` (`bug_status`), KEY `bugs_op_sys_idx` (`op_sys`), KEY `bugs_priority_idx` (`priority`), KEY `bugs_product_id_idx` (`product_id`), KEY `bugs_reporter_idx` (`reporter`), KEY `bugs_version_idx` (`version`), KEY `bugs_component_id_idx` (`component_id`), KEY `bugs_resolution_idx` (`resolution`), KEY `bugs_target_milestone_idx` (`target_milestone`), KEY `bugs_qa_contact_idx` (`qa_contact`), KEY `bugs_votes_idx` (`votes`), FULLTEXT KEY `bugs_short_desc_idx` (`short_desc`) ) TYPE=MyISAM PACK_KEYS=0; что не понравилось скрипту checksetup.pl в этой таблице не знаю, но после удаления таблицы bugs_on_date я запустила checksetup.pl и дашла до места: Выделить код Код:WARNING: We are about to convert your table storage format to UTF8. This allows Bugzilla to correctly store and sort international characters. и нажала Ctrl-C чтобы выполнить перекодировку. Выделить код Код:Failed to guess: Key: L1q7c5kkNIboprBLt0NVTQ DATA: ц░ц╔цєц═ц╙ц╡ц╝ц╟ ц╠ц╣ц╔ц╛ ц╗ ц╝ц╡цЇц╔ц╡ц╝ц╒: ... Row: [id = 1368] Failed to guess: Key: 7i18ZbEQOVFxtbLy/gGn4A DATA: ц└ц╝ц╙цЁц╛ц╔цґц╡ц═цІц╗ц©: ц╟цЁц╙ц╝ц╒ц╝цєц╠ц╡ц╒ц╝... Converting fielddefs.name... Converting fielddefs.description... Row: [fieldid = 53] Failed to guess: Key: pPTTnYhqYOv15wChILAtxA DATA: ц┬ц╠ц╞ц╟ц═ц╒ц╚ц╔цґц═ Table fixes_bugs does not exist in the database schema. at Bugzilla/DB/Schema.pm line 1632. На этом recode.pl остановился. |
SnowyOwl > 10-11-2008 07:04:31 |
Все это наталкивает на мысль, что база все же в кодировке Windows. Если это так, надо и никаких --guess |
Tuchka_84 > 10-11-2008 20:42:10 |
Восстановила базу из бэкапа и продела опять checksetup и затем : Выделить код Код:freeserver# ./contrib/recode.pl --show-failures --charset=cp1251 Converting attachments.description... Converting attachments.mimetype... Converting attachments.filename... Converting bug_severity.value... Converting bug_status.value... Converting bugs.bug_file_loc... Converting bugs.bug_severity... Converting bugs.bug_status... Converting bugs.short_desc... Converting bugs.op_sys... Converting bugs.priority... Converting bugs.rep_platform... Converting bugs.version... Converting bugs.resolution... Converting bugs.target_milestone... Converting bugs.status_whiteboard... Converting bugs.keywords... Converting bugs.alias... Converting bugs_activity.added... Converting bugs_activity.removed... Converting bugs_fulltext.short_desc... Converting bugs_fulltext.comments... Converting bugs_fulltext.comments_noprivate... Converting classifications.name... Converting classifications.description... Converting components.name... DBD::mysql::st execute failed: Duplicate entry '1047-п≤пЇпЄп╣п╩п╦я▐ п╨я─п╣п©п╣пІпҐя▀п╣ пЄп╩я▐ я└п╩п╟пҐя├п╣п╡я▀я┘' for key 'components_product_id_idx' [for Statement "UPDATE components SET name = ? WHERE id = ?" with ParamValues: 1='1280', 0='п.пЇпЄп╣п╩п╦я. п╨я.п╣п©п╣пІпҐя.п╣ пЄп╩я. я.п╩п╟пҐя.п╣п╡я.я. я.п╬п╣пЄп╦пҐп╣пҐп╦п╧. п.п╬п╨я.п╪п╣пҐя.п╟я.п╦я.'] at ./contrib/recode.pl line 299 freeserver# Может еще чтото попробовать? |
Tuchka_84 > 24-11-2008 19:56:49 |
Ура у меня кое-что получилось. |
SnowyOwl > 25-11-2008 05:01:55 |
Превосходно! recode.pl официально поддерживается, это стоит эскалировать на bugzilla.mozilla.org |
SnowyOwl > 25-11-2008 09:47:22 |
Держали небольшой совет в Филях http://bugzilla.glob.com.au/irc/?a=date … ov+25+2008. Японские коллеги делали это отдельным скриптом из базы в базу http://www.mozilla.gr.jp/~shimono/transcode.pl. Скрипт статичен по отношению к версии БД. |
Tuchka_84 > 25-11-2008 12:26:33 |
SnowyOwl пишет
Т.е. мне нужно создать ошибку с описанием проблемы при перекодировке старой базы версии 2.20 в 3.2 rc1? |
Tuchka_84 > 27-11-2008 17:57:38 |
Выделить код Код:my $sth = $dbh->prepare ("SELECT bug_id, short_desc FROM bugs WHERE (bug_id > 30000) LIMIT 45"); $sth->execute(); my $count =0; while (my @val = $sth->fetchrow_array()) { print " bug_id: $val[0] short_desc: $val[1] \n"; print "<br>"; ++$count; } $sth->finish(); print "$count rows were returned\n"; Вызываю его из того же Эксплорера что и багзилу, включаю туже кодировку Юникод (UTF-8) и все ошибки выводятся русскими буквами нормально. Т.е. в базе хранятся именно данные в utf-8. |
Tuchka_84 > 27-11-2008 18:52:02 |
Когда устанавливала багзилу 3.2rc1 она автоматически создала пустую базу ( я её назвала bugstest). Выделить код Код:my $sth = $dbh->prepare ("SELECT bug_id, short_desc FROM bugs "); $sth->execute(); my $count =0; while (my @val = $sth->fetchrow_array()) { print " bug_id: $val[0] short_desc: $val[1] \n"; print "<br>"; ++$count; } $sth->finish(); print "$count rows were returned\n"; И вызвала его из Эксплорера с кодировкой utf-8 все русские наименования отображаются знаками вопроса. |
Tuchka_84 > 27-11-2008 21:14:45 |
|
Al_H > 27-11-2008 23:04:23 |
А на этапе 1. он кириллицу не гробит? Интересно, почему? |
Tuchka_84 > 28-11-2008 10:21:09 |
Al_H пишет
Потому что исходная база на Mysql 4.0 тоже была запихнута в db charset =latin1. И работала нормально. |
Tuchka_84 > 07-12-2008 10:23:41 |
Здравствуйте, Выделить код Код:Table fixes_prefs does not exist in the database schema. at Bugzilla/DB/Schema.pm line 1632. Разобраться в Schema.pm чтобы там к примеру дописать эти таблицы в список я не смогла. Может кто-то уже делал такое? Выделить код Код:sub get_table_list { 1618 1619 =item C<get_table_list> 1620 1621 Description: Public method for discovering what tables should exist in the 1622 Bugzilla database. 1623 1624 Parameters: none 1625 1626 Returns: An array of table names, in alphabetical order. 1627 1628 =cut 1629 1630 my $self = shift; 1631 return sort keys %{$self->{schema}}; 1632 } Заранее спасибо. |