Jas*_*lis 4 ruby migration activerecord ruby-on-rails
下面我有一个"test"模型的迁移,它使用它自己的主键,一个String而不是一个Integer.
class CreateTest < ActiveRecord::Migration[5.1]
def change
create_table :test, id: false do |t|
t.string :id, primary_key: true
t.timestamps
end
end
end
Run Code Online (Sandbox Code Playgroud)
现在我们有了t.references测试的"客户端"模型.
class CreateClients < ActiveRecord::Migration[5.1]
def change
create_table :clients do |t|
t.references :test, null: false
t.timestamps
end
end
end
Run Code Online (Sandbox Code Playgroud)
问题是t.references假设它是一个整数id.
# == Schema Information
#
# Table name: clients
#
# id :integer not null, primary key
# test_id :integer not null
# created_at :datetime not null
# updated_at :datetime not null
Run Code Online (Sandbox Code Playgroud)
这显然是错误的,因为它Test.id是一个字符串.
我是否需要做一些魔术来t.references"知道"它是基于模型的字符串还是什么?
谢谢.
| 归档时间: |
|
| 查看次数: |
103 次 |
| 最近记录: |