I am trying to define a model for a legacy database and the primary key
is the combination of two fields, 'branchcode' and 'debtorno'
class Custbranch < ActiveRecord::Base
set_table_name 'custbranch'
set_primary_key 'branchcode_branchno'
end
and I have tried...
set_primary_key 'branchcode branchno'
set_primary_key 'branchcode, branchno'
but in the console, a simple find, always an error...
>> @branch=Custbranch.find("A365")
ActiveRecord::StatementInvalid: Mysql::Error: Unknown column
'custbranch.branchcode_branchno' in 'where clause': SELECT * FROM
`custbranch` WHERE (`custbranch`.`branchcode_branchno` = 'A365')
>> @branch = Custbranch.find("A365")
ActiveRecord::StatementInvalid: Mysql::Error: Unknown column
'custbranch.branchcode branchno' in 'where clause': SELECT * FROM
`custbranch` WHERE (`custbranch`.`branchcode branchno` = 'A365')
>> @branch = Custbranch.find("A365")
ActiveRecord::StatementInvalid: Mysql::Error: Unknown column
'custbranch.branchcode, branchno' in 'where clause': SELECT * FROM
`custbranch` WHERE (`custbranch`.`branchcode, branchno` = 'A365')
and the only way I seem to make it work is to use 'branchcode' as the
primary key which is not indexed. I can use this for now but I am
wondering if it is possible to set_primary_key on a legacy db model to
use a compound index/primary key.
Craig
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" 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/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---