No cigar. Setting this with: ``` set_primary_key :id ```
yields the same error. Neil On Fri, Mar 6, 2015 at 7:50 PM, Jeremy Evans <[email protected]> wrote: > On Friday, March 6, 2015 at 9:35:20 AM UTC-8, Neil Middleton wrote: >> >> Hey, >> >> We're trying to use sequel against a view in Postgres which goes cross >> schema (select * from schema.table basically). There's a relationship in >> one model 'tickets' (based on the view) which links to another table via a >> `many_to_many`: >> >> ``` >> many_to_many :tags, left_key: :ticket_id, right_key: :tag_id >> ``` >> >> (tickets is a view on a table in another schema, tags is just public.tags) >> >> However, on application boot, this causes an error: >> >> ``` >> 17:25:23 web.1 | [32073] ! Unable to load application: Sequel::Error: >> mismatched number of left keys: [:ticket_id] vs [] >> 17:25:24 web.1 | /Users/neil/.rbenv/versions/2. >> 2.0/lib/ruby/gems/2.2.0/gems/sequel-4.19.0/lib/sequel/model/associations.rb:1806:in >> `def_many_to_many': mismatched number of left keys: [:ticket_id] vs [] >> (Sequel::Error) >> ``` >> >> Everything is fine and working in postgres-land and behaving as it >> should, but Sequel is blocking us by causing this error. I assume this is >> something to do with the schema change in the view? >> > > It's probably because Sequel can't determine the primary key for the model > if you use a view instead of a table, since views do not have primary > keys. You can probably use set_primary_key for the appropriate model that > is backed by the view to work around it. > > Thanks, > Jeremy > > -- > You received this message because you are subscribed to a topic in the > Google Groups "sequel-talk" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/sequel-talk/WamdFeH0wGQ/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/sequel-talk. > For more options, visit https://groups.google.com/d/optout. > -- - N -- 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 http://groups.google.com/group/sequel-talk. For more options, visit https://groups.google.com/d/optout.
