Oh wow. Interesting. I installed the radiant-vhost-extension by
installing the gem. The add_site_columns.rb that comes with the gem
looks very different than the one on github that you linked to.
http://pastie.org/1566676

Seems like a bug w/ the radiant-vhost-extension gem?

On Feb 15, 1:16 am, Haselwanter Edmund <edm...@haselwanter.com> wrote:
> On 15.02.2011, at 01:37, craayzie wrote:
>
> > Below is the migration that finally did the trick! There wasn't really
> > a need to have an index on the name attribute anyways since it'll
> > always require the site_id.
>
> The uniqueness of a field in rails is a programatic constrain in ruby, not a 
> constrain on the database layer.
> The vhost.yml file takes care of this and evaluates this.
>
> https://github.com/saturnflyer/radiant-vhost-extension/blob/master/li...
>
>
>
> > I'm still interested in Haselwanter's note about how the config/
> > vhost.yml file alone should have taken care of this. Am I missing
> > something obvious here?
>
> yes:
>
> There is some code in the rake radiant:extensions:vhost:apply_site_scoping 
> which alters special index
> behaviour. At least for snippets it should just work
>
> https://github.com/saturnflyer/radiant-vhost-extension/blob/master/li...
>
>
>
>
>
>
>
>
>
>
>
> > class CleanUpSnippetConstraints < ActiveRecord::Migration
> >  def self.up
> >    remove_index :snippets, :name => "name"
> >  end
>
> >  def self.down
> >    add_index "snippets", ["name"], :name => "name", :unique => true
> >  end
> > end
>
> > On Feb 14, 2:02 pm, craayzie <flesh...@gmail.com> wrote:
> >> The migration to remove the unique constraint works great (below) but
> >> when I try to roll it back I get the following from sqlite:
>
> >> $ rake db:rollback
> >> (in /Users/username/Sites/heroku)
> >> ==  CleanUpSnippetConstraints1: reverting
> >> =====================================
> >> -- remove_index(:snippets, {:name=>"index_snippets_on_name"})
> >>    -> 0.0010s
> >> -- add_index("snippets", ["name"], {:unique=>true, :name=>"name"})
> >> rake aborted!
> >> An error has occurred, this and all later migrations canceled:
>
> >> SQLite3::ConstraintException: indexed columns are not unique: CREATE
> >> UNIQUE INDEX "name" ON "snippets" ("name")
>
> >> $ cat db/migrate/20091003095746_clean_up_snippet_constraints1.rb
> >> class CleanUpSnippetConstraints1 < ActiveRecord::Migration
> >>   def self.up
> >>     remove_index :snippets, :name => "name"
> >>     add_index :snippets, ["name"], :name =>
> >> "index_snippets_on_name", :unique => false
> >>   end
>
> >>   def self.down
> >>     remove_index :snippets, :name => "index_snippets_on_name"
> >>     add_index "snippets", ["name"], :name => "name", :unique => true
> >>   end
> >> end
>
> >> $ rake db:migrate
> >> (in /Users/username/Sites/heroku)
> >> ==  CleanUpSnippetConstraints1: migrating
> >> =====================================
> >> -- remove_index(:snippets, {:name=>"name"})
> >>    -> 0.0004s
> >> -- add_index(:snippets, ["name"],
> >> {:unique=>false, :name=>"index_snippets_on_name"})
> >>    -> 0.0753s
> >> ==  CleanUpSnippetConstraints1: migrated (0.0760s)
> >> ============================
>
> --
> DI Edmund Haselwanter, 
> edm...@haselwanter.com,http://edmund.haselwanter.com/http://www.iteh.at|http://facebook.com/iTeh.solutions|http://at.linkedin.com/in/haselwanteredmund

Reply via email to