The naming convention for the sequence is TABLE_COLUMN_seq, so the
actual line needed was:

execute "ALTER SEQUENCE numbers_id_seq RESTART WITH 9;"

> ignoring that there are plugins to convert numbers to text and that
> populating via migrations is maybe not the best idea...

What is the best idea?

thanks again,
Rick

On Apr 14, 3:35 pm, Craig White <[email protected]> wrote:
> On Wed, 2010-04-14 at 21:23 +0200, Lionel Bouton wrote:
> > The Wed, 14 Apr 2010 12:09:57 -0700 (PDT),
> > Rick <[email protected]> wrote:
>
> > > [...]
> > > ActiveRecord::StatementInvalid: PGError: ERROR:  duplicate key value
> > > violates unique constraint "numbers_pkey"
> > > : INSERT INTO "numbers" ("name", "created_at", "updated_at", "value")
> > > VALUES(E'nine', '2010-04-14 19:07:44.694130', '2010-04-14
> > > 19:07:44.694130', 8) RETURNING "id"
>
> > > Any ideas?
>
> > You used COPY to insert data without adjusting the sequence used to
> > initialize the id column value.
>
> > As ActiveRecord relies on the DB to fill the id column for you, the DB
> > calls nextval() on the sequence, gets 1 which is already used.
>
> > See
> > psql> \d numbers
> > for the name of the sequence used for the id column and lookup
> > PostgreSQL doc for how to change the value it stores (sorry I don't
> > remember the exact SQL syntax).
>
> ----
> ignoring that there are plugins to convert numbers to text and that
> populating via migrations is maybe not the best idea...
>
> execute 'ALTER SEQUENCE "numbers_pkey_seq" RESTART WITH 9;'
>
> is probably close to what you need
>
> Craig
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.

-- 
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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to