Thanks, i'll try that today.

On Wed, Mar 4, 2009 at 9:41 PM, Tze Yang Ng <[email protected]> wrote:
>
> 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
>
> >
>



-- 
Rafael George

--~--~---------~--~----~------------~-------~--~----~
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