Create an ActiveRecord database table with no :id

2019-01-14 10:39发布

问题:

Is it possible for me to create and use a database table that contains no :id column in ActiveRecord, Ruby on Rails.

I don't merely want to ignore the id column, but I wish it to be absolutely non-existent.

Table Example

:key_column                         :value_column
0cc175b9c0f1b6a831c399e269772661    0cc175b9c0f1b6a831c399e269772661
4a8a08f09d37b73795649038408b5f33    0d61f8370cad1d412f80b84d143e1257
92eb5ffee6ae2fec3ad71c777531578f    9d5ed678fe57bcca610140957afab571

Any more info ( like an :id_column ) would break the whole feature.

How would I implement something like this in rails?

回答1:

yup, looks like this:

create_table :my_table, id: false do |t|
  t.string :key_column
  t.string :value_column
end

just make sure to include the

id: false

part.