Так что в основном у меня 2 проблемы.
Во-первых, я хотел бы использовать столбец с именем "article_id" в качестве первичного ключа для моей таблицы статей.Он настроен как первичный ключ auto_increment в моей базе данных.
Во-вторых, мне также нужно использовать столбец с именем "id" в качестве стандартного столбца.
Теперь происходит то, что когда я назначаюзначение "id", "article_id" также заполняется тем же значением.В идеале «article_id» должен оставаться пустым, чтобы при вставке записи ей было сгенерировано значение auto_increment.Я также должен отметить, что мне нужно использовать столбец с именем «type», поэтому я перезаписал значение column_column.
Вот моя текущая модель
class Article < ActiveRecord::Base
attr_reader :id
attr_reader :type
set_primary_key :article_id
set_inheritance_column do
'active_record_type'
end
def id=(id)
@id = id
end
end
И она заполняетсяс помощью следующего кода
article = Article.new
article.type = 123
article.name = 'Foo Bar'
article.id = 456
article.save
Итак, в основном, как получить приведенный выше код для генерации запроса, который выглядит как
INSERT INTO `articles` (`type`, `name`, `id`) VALUES(123, 'Foo Bar', 456)
Но в настоящее время он генерирует запрос, который выглядит как
INSERT INTO `articles` (`type`, `name`, `id`, `article_id`) VALUES(123, 'Foo Bar', 456, 456)