Hi Jeremy, Good to know sequel_postgresql_triggers, will try.
Thanks, Richard On Tuesday, May 2, 2017 at 10:21:08 PM UTC+8, Jeremy Evans wrote: > > On Tuesday, May 2, 2017 at 7:11:32 AM UTC-7, Richard Huang wrote: >> >> Hi, >> >> I'm trying to create a many to many relationship in sequel and I want to >> add created_at in the middle table, like >> >> >> class User < Sequel::Model >> plugin :timestamps, update_on_create: true >> >> >> has_many :roles >> end >> >> >> class Role < Sequel::Model >> plugin :timestamps, update_on_create: true >> >> >> has_many :users >> end >> >> >> class RolesUser < Sequel::Model >> plugin :timestamps, update_on_create: true >> end >> >> >> I added both created_at and updated_at columns to users, roles and >> roles_users table, but when I call >> >> user.add_role(role) or role.add_user(user), it won't update created_at >> and updated_at columns for roles_users table, how could I make timestamps >> plugin work for many to many middle table? >> > > You can setup one_to_many associations to the join table model, and use > the modification methods for that: > > user.add_role_user(:role_id=>role.id) > role.add_role_user(:user_id=>user.id) > > However, the better way is using a database trigger for to handle the > created_at/updated_at columns, instead of the timestamps plugin. For > PostgreSQL, there is > https://github.com/jeremyevans/sequel_postgresql_triggers > > Thanks, > Jeremy > -- You received this message because you are subscribed to the Google Groups "sequel-talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/sequel-talk. For more options, visit https://groups.google.com/d/optout.
