This project is archived and is in readonly mode.

#74 ✓invalid

problem with tests and custom mysql fulltext indexes

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

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?

Comments and changes to this ticket

  • Jeff Dean

    Jeff Dean May 1st, 2008 @ 10:59 AM

    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.

  • stanislav

    stanislav May 1st, 2008 @ 02:56 PM

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

    Best Wishes

  • josh

    josh June 3rd, 2008 @ 08:05 PM

    • State changed from “new” to “invalid”

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

<h2 style="font-size: 14px">Tickets have moved to Github</h2>

The new ticket tracker is available at <a href=""></a>

People watching this ticket

Referenced by