We are trying to use set_primary_key to cause an existing rails db to use a different primary key. This works find for accessing existing data, but gives an error when we try to add a new record, as it seems to still be accessing the record by the default id field at that point. Are there other changes we need to make to get an alternate primary key working?
I think the problem is likely that the "old" primary key in the
database is still the "id" field that rails generates and uses by
default, and we can't change that since (for the time being, our needs
being modest) we're using sqlite. We want to use a field called "rmr",
basically an identification number, as the primary key, but this
became obvious only after we'd created and started populating the
database.
Does Rails interrogate the database to find out which column is the
primary key?
I think I read somewhere that when creating a new record you still
have to reference the field as 'id' (id=value) or it will not work.
It's worth the try.