I''m trying to use sqlite3 as my testing engine for cruisecontrol
(I''m
using Geoffrey Grossenbach''s memory-test-fix plugin for this). When CC
tries to build the schema in sqlite3, this occurs:
[snip]
-- add_index("events", ["bookmark_id"],
{:name=>"bookmark_id"})
-> 0.0005s
[other stuff snipped]
-- add_index("flags", ["bookmark_id"],
{:name=>"bookmark_id"})
/usr/bin/ruby -Ilib:test "/usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/
rake/rake_test_loader.rb" SQLite3::SQLException: index bookmark_id
already exists: CREATE INDEX "bookmark_id" ON flags
("bookmark_id")
Based on this error, it seems to me that the namespace for indexes in
sqlite3 is database-wide, so when i make a bookmark_id index for
events, i can''t make the same index named "bookmark_id" on
the flags
table.
So I thought I''d give an explicit name to each index, hoping that the
sqlite3-ruby gem would honor it. I changed my migrations to say this:
execute "alter table events add index bookmark_id_idx_events
(bookmark_id)"
execute "alter table flags add index bookmark_id_idx_flags
(bookmark_id)"
...and it looks like the schema.rb picks up the change:
add_index "events", ["bookmark_id"], :name =>
"bookmark_id_idx_events"
add_index "flags", ["bookmark_id"], :name =>
"bookmark_id_idx_flags"
...but when sqlite3 runs the schema.rb to build the db, it is ignoring
the :name attribute, tries to make a second bookmark_id index, and
keeps giving the same error.
My questions are:
1. does the sqlite3-ruby gem support named indexes?
2. If so, what am I doing wrong?
All advice is greatly appreciated!
Thanks,
-Jason
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---