Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

This project is archived and is in readonly mode.

problem with tests and custom mysql fulltext indexes

#74

I'm using Rails 2.0.2 / MySQL 5.0.45

I think it's a kind of bug/problem for tests and mysql fulltext indexes, which doesn't have a common workaround.

So, it goes like this:

I have this in my migration:

execute "CREATE FULLTEXT INDEX fulltext_summary ON indexed_stories (summary)"

where "summary" is mysql text field.

The problem that I see is that when running "rake db:test:prepare" it always loads "schema.rb". However in it, instead of the above custom execute we have this line:

add_index "indexed_stories", ["summary"], :name => "fulltext_summary"

which tries to create a normal index and dies with:

Mysql::Error: BLOB/TEXT column 'summary' used in key specification without a key length: CREATE INDEX `fulltext_title_summary` ON `indexed_stories` (`title`, `summary`)

Is there a work-around for such situations where we're using custom sql in migrations?

Reported by stanislav · May 1st, 2008 @ 10:49 AM

State: invalid
Milestone: none
Assigned to: nobody
Importance: none

Activity

  1. Jeff Dean
    Jeff Dean

    In environment.rb uncomment:

    config.active_record.schema_format = :sql

    Then when you run db:test:prepare --trace you'll notice that it uses clone_structure instead of clone.

    May 1st, 2008 @ 10:59 AM

  2. stanislav
    stanislav

    Thank you for the support. It's OK now. You can close this ticket. It was a kind of obvious resolution, but....

    Best Wishes

    May 1st, 2008 @ 02:56 PM

  3. josh
    josh
    • State changed from new to invalid

    June 3rd, 2008 @ 08:05 PM