roller-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt Raible <m...@raibledesigns.com>
Subject Re: More issues with 5.0 RC4
Date Wed, 27 Apr 2011 17:22:11 GMT
On Wed, Apr 27, 2011 at 6:39 AM, Matt Raible <matt@raibledesigns.com> wrote:

>
> On Apr 26, 2011, at 7:44 PM, Dave wrote:
>
> > On Tue, Apr 26, 2011 at 2:23 PM, Matt Raible <matt@raibledesigns.com>
> wrote:
> >> On Apr 26, 2011, at 12:20 PM, Dave wrote:
> >>> On Tue, Apr 26, 2011 at 11:14 AM, Matt Raible <matt@raibledesigns.com>
> 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. ;-)

Thanks,

Matt

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message