具有字符串主键的工厂女孩

Factory girls with primary key of string

我正在制作一个 rails 应用程序,现在正在尝试测试我的应用程序。

现在我有一个 Table 主键在字符串中,所以我创建了这样的工厂女孩​​模型

FactoryGirl.define do
  factory :table_setting do
    setting_id 'some_api_key' # this is the primary key
    setting_value 'some_api_key_value'
  end
end

并且在规范文件中,我创建了实例。但不知何故它返回像

#<table_setting 
   setting_id: 1, 
   setting_value: "apikey_value"
 >

我想使用字符串主键,但它只给我增量整数。有人可以告诉我如何处理吗?


经过一些尝试

现在我发现问题出在我的模型(或 mysql 数据库)

当我在MySQL中查看setting_id的数据类型时,我得到了INTEGER的数据类型, 但是当我在 rails 控制台中查看 table_setting 的数据类型时,如

> TableSetting

则显示setting_id的数据类型为STRING。这一直让我感到困惑..

由于 Factory Girl 按原样使用模型,因此它不会在那种意义上修改字段。因此,问题一定出在您的模型中。请检查模型在 Rails 控制台中是否正常工作。