Thread: SOLVED: Re: PostgreSQL primary (sequence) key issue (Ruby/Rails)

SOLVED: Re: PostgreSQL primary (sequence) key issue (Ruby/Rails)

From
"Andrew Madu"
Date:
Hi,
this one has been finally put to bed!!

--
Regards

Andrew

On 01/03/07, Andrew Madu <andrewmadu@gmail.com > wrote:
Hi Guys,
I'm completely stumped with this one!

I've included ActiveRecord:: Base.set_sequence_name in my environment.rb, and in my user.rb I've placed the following code:

class Usertbl < ActiveRecord::Base
    set_primary_key "user_id"
    set_sequence_name "seq_user_mytable"
    validates_uniqueness_of :userpassword, :username, :scope => :user_id
end

From http://localhost:3000/usertbl/new I then attempt to enter a new a record and receive the following error message:

RuntimeError: ERROR C23502 Mnull value in column "user_id" violates not-null constraint


FexecMain.c L1795 RExecConstraints: INSERT INTO usertbl


Oh my head hurts!!


--
Regards

Andrew


On 01/03/07, Andrew Madu < andrewmadu@gmail.com> wrote:
Hi Dave,
my apologies for contacting you off list but i'm having a spot of bother with postgreSQL sequence setup in rails. In addition to what is mentioned below, I have place the following line of code in my environment.rb document:

# Include your application configuration below
ActiveRecord::Base.pluralize_table_names = false
ActiveRecord::Base.set_sequence_name

What I am overlooking here?

--
Regards

Andrew

---------- Forwarded message ----------
From: Andrew Madu < andrewmadu@gmail.com>
Date: 01-Mar-2007 15:28
Subject: Re: PostgreSQL primary (sequence) key issue
To: rubyonrails-talk@googlegroups.com

Hi,
I've followed the example given here:

http://ar.rubyonrails.com/classes/ActiveRecord/Base.html#M000367

and implemented set_sequence_name "seq_name" in my class. When I try to update the user table with a new row from:
 
http://localhost:3000/usertbl/new

I get the following error message:

RuntimeError: ERROR	C23502	Mnull value in column "user_id" violates not-null constraint	




FexecMain.c L1795 RExecConstraints: INSERT INTO usertbl

What am I overlooking here?

Also coud possibly give me any clues on how to setup an 'assigned' primary key in an ActiveRecord class?


--
Regards

Andrew


On 01/03/07, Andrew Madu <andrewmadu@gmail.com> wrote:
Hi,
I have a sequence set up on one of my tables called seq_user_mytable. I tried the following with no joy:

set_primary_key "user_id", :sequence => "seq_user_mytable" and:

ActiveRecord:: Base.seq_user_mytable

again with no joy. How do I implement a sequence in Rails/ActiveRecord?

--
Regards

Andrew