Just did a quick glance, for ur Interest class, u declared the followings:

"
property :user_id,     Integer, :nullable => false, :key => true
belongs_to :user
"

There is no need for the "property :user_id", having "belongs_to
:user" is good enough. As for ur fixture, u can define:

"
 Interest.fix {{
   :user     => User.gen,
   ...
 }}

"

Cheers

==

On Wed, Mar 4, 2009 at 10:54 PM, Rafael George <[email protected]> wrote:
>
> I'm using the model already provide from MerbAuth for an user table,
> the id field definition goes like this:
>
> property :id, Serial
>
> But when i use a fixture setting with dm-sweatshop, executing the .gen
> method i don't get an auto incremented id.
>
> The same happen with others model which fixtures that i created.
>
> Below the code for the models involve, and the code for the fixtures.
> I'm trying this with merb -i and using load("spec/spec_fixtures.rb")
> then User.gen or Question.gen
>
> class User
>
>  include DataMapper::Resource
>
>  # properties
>
>  property :id,         Serial
>
>  property :login,      String
>  property :first_name, String
>  property :last_name,  String
>
>  timestamps :at
>
>  # associations
>
>  has n, :questions
>  has n, :answers
>  has n, :relevancies
>  has n, :interests
>  has n, :questions, :through => :interests
>
>
> end
>
> class Interest
>
>  include DataMapper::Resource
>
>  # properties
>
>  property :user_id,     Integer, :nullable => false, :key => true
>  property :question_id, Integer, :nullable => false, :key => true
>
>  timestamps :at
>
>  # associations
>
>  belongs_to :user
>  belongs_to :question
>
> end
>
> class Question
>
>  include DataMapper::Resource
>
>  # properties
>
>  property :id,    Serial
>
>  property :user_id, Integer, :nullable => false
>
>  property :title, String, :nullable => false, :length => (1..255)
>  property :body,  Text
>
>  timestamps :at
>
>  # associations
>
>  belongs_to :user
>
>  has n, :answers
>  has n, :interests
>  has n, :users, :through => :interests
>
> end
>
>  User.fix(:anonymous) {{
>     :login => 'anonymous',
>     :first_name => 'Anonymous',
>     :last_name => 'Coward'
>   }}
>
>   User.fix {{
>     :login =>  first_name = Randgen.first_name,
>     :last_name  =>  last_name = Randgen.last_name,
>    :login =>  "#{first_name.downcase}#{last_name[0].chr}"
>  }}
>
>  Question.fix {{
>    :title => /[:sentence:]{4,10}/.gen.gsub(/\.$/, '?'),
>    :user_id   => User.pick.id,
>    :body   => /[:paragraph:]/.gen
>  }}
>
>  Question.fix(:anonymous) {{
>    :title  => /[:sentence:]{4,10}/.gen.gsub(/\.$/, '?'),
>    :body   => /[:paragraph:]/.gen,
>    :user_id   => User.pick(:anonymous).id
>  }}
>
>  Interest.fix { DataMapper::Sweatshop.unique {{
>    :user     => User.pick,
>    :question => Question.pick
>  }}}
>
>  ##Population
>
>  User.gen(:anonymous) #create the anonymous user
>  5.of { User.gen }     #randomly create 5 users
>
>  10.of { Question.gen }              #create 10 questions with random
> users (not the anonymous user)
>  10.of { Question.gen(:anonymous) }  #create 10 questions with the
> anonymous user
>
>  20.of { Interest.gen }                                  #create 20 interests
>  5.of  { Interest.gen(:user => User.pick(:anonymous)) }  #create 5
> interests with questions for the anonymous user
>
> Thanks in advance.
>
> --
> Rafael George
>
> >
>



-- 
http://ngty77.blogspot.com

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"DataMapper" 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/datamapper?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to