On Wed, Apr 27, 2011 at 11:22 AM, Matt Raible <[email protected]>wrote:
> > > On Wed, Apr 27, 2011 at 6:39 AM, Matt Raible <[email protected]>wrote: > >> >> On Apr 26, 2011, at 7:44 PM, Dave wrote: >> >> > On Tue, Apr 26, 2011 at 2:23 PM, Matt Raible <[email protected]> >> wrote: >> >> On Apr 26, 2011, at 12:20 PM, Dave wrote: >> >>> On Tue, Apr 26, 2011 at 11:14 AM, Matt Raible <[email protected]> >> wrote: >> >>>> This morning I discovered a couple new issues with my 5.0 RC4 >> install. >> >>>> 1) My tag cloud isn't working on my site. When I hit the following >> link, I don't get any errors in my log, but it results in a 404. Any ideas? >> >>>> http://raibledesigns.com/rd/tags/appfuse >> >> >> >>> That probably means that you don't have a tag index page in your side, >> >>> or something the page you do have became "unmarked" as a tags index >> >>> page. If that's the case, it would be very nice to know why that >> >>> happened so we can fix it before release. >> >> >> >> Is this a servlet that should be in web.xml? >> > >> > No. In a custom theme, there are four types of template actions that >> > you can create (weblog, permalink, search, tagsIndex and custom). For >> > the "/blog/tags/tag" form of URL, then you need one template that is >> > the tagIndex template. >> > >> > Unfortunately, Roller does not display the name of a template's action >> > anywhere so it is hard to tell which templates are which actions. >> > Please check the "webpage" table and see if you have a template with >> > action of "tagsIndex." >> > >> > >> >>>> 2) It looks like some of my blog entries are truncated. For example: >> >>>> http://raibledesigns.com/rd/entry/2010_a_year_in_review >> >>>> >> >>>> Is there something in the import script that might've truncated my >> entries when I re-imported all of them? >> >>> >> >>> Which import script are you talking about? I was not aware (or forgot) >> >>> that we have an importer in Roller. >> >> >> >> I'm talking about the db upgrade script. I had issues upgrading my >> database (MySQL 3.x) and ended up changing to a 5.x database. However, it >> looks like something got lost when I imported my 3.x database into 5, so I'm >> wondering if there's a length on the weblogentry.text field that might've >> chopped off content. Or maybe mysqldump did it when exporting. I'm not sure. >> I'm working with my hosting provider to try and see if there's a MySQL Diff >> tool I can use to see what entries need refreshing from my old database. >> > >> > That is scary. There is no limit on the blog entry content field size, >> > we declare it as type "text" which is an unlimited CLOB type. I guess >> > it is possible that something went wrong with MySQL dump or import >> > commands, but I'd expect those tools to be pretty rock solid by none. >> > I hope have the dump files that you exported. >> >> My hosting provider guy looked into it and it seems like the problem is >> the charset. My old MySQL 3.x database used latin1 while my MySQL 5.x >> database uses UTF-8. >> >> http://en.gentoo-wiki.com/wiki/Convert_latin1_to_UTF-8_in_MySQL >> >> The symptom certainly looks familiar: >> "Be careful when switching to UTF-8. Once you have converted your data, >> any program/webapp that uses the database will have to check that the data >> they are sending to the database is valid UTF-8. If it isn't then MySQL >> will silently truncate the data after the invalid part, which can cause >> all sorts of problems." >> >> Did anything change structurally b/w Roller 4 and 5 as far as the >> weblogentry and roller_comments tables go? I think those are the only tables >> where things got messed up. I think I can convert, delete and then >> re-import. Do you see any issues with that? >> >> > I'm attempting to do this locally. Here's my strategy: > > 1. Take my 20110302.sql dump and convert it so it works with MySQL 5. This > involves changing TYPE=MyISAM to ENGINE=MyISAM and then using the "convert > dump" section from > http://en.gentoo-wiki.com/wiki/Convert_latin1_to_UTF-8_in_MySQL. > 2. Create a new 5.x database with UTF-8: > > CREATE DATABASE roller CHARACTER SET utf8 COLLATE utf8_general_ci; > > 3. Import 20110302.sql. > 4. Upgrade from Roller 4 to Roller 5 using > WEB-INF/classes/dbscripts/mysql/400-to-500-migration.sql > 5. mysqldump all rows in roller_comment and weblogentry tables that are > older than 3/2/2011. > 6. In production, delete all records in roller_comment and weblogentry that > are older than 3/2/2011. > 7. Insert weblogentry and roller_comment rows from mysqldump. > > I believe this will work. However, it looks like things fail on Step 4: > > $ mysql -u root -p roller < 400-to-500-migration.sql > Enter password: > ERROR 1005 (HY000) at line 141: Can't create table 'roller.#sql-d9_d' > (errno: 150) > > Line 141 is: > > alter table roller_mediafiledir add constraint mf_websiteid_fk > foreign key ( websiteid ) references website( id ) ; > > Any ideas? The only thing I can think of is my 20110302.sql file has some > partially-created relationships from a Roller upgrade attempt. I'd like to > think it doesn't though. ;-) > > I commented out line 141 and was able to get past this. To delete records older than 3/2/2011, I used the following queries: delete from weblogentry where pubtime < 2011-03-03; delete from roller_comment where posttime < 2011-03-03; Then I attempted to import comments and weblogentries, but received the following errors. I'm kinda stuck. Do I need to turn off auto-incrementing on insert? If I search the file before importing, there is no key with the value below and if I search the db, it doesn't exist until after the failure below. mraible:Desktop mraible$ mysql -u root -p roller5 < roller_comment_dump.sql Enter password: ERROR 1062 (23000) at line 12: Duplicate entry '92fe6c8d-fb11-4c32-ba88-d2da36789c43' for key 'PRIMARY' mraible:Desktop mraible$ mysql -u root -p roller5 < weblogentry_dump.sql Enter password: ERROR 1062 (23000) at line 6: Duplicate entry '' for key 'PRIMARY'
