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.

