vvp*_*p45 1 ruby-on-rails ruby-on-rails-6
我正在尝试在 Rails 6 中创建自定义主键,但没有创建主键,而是创建了普通 id。
我已经给予的移民
def change
create_table(:m_user_status, :id => false) do |t|
t.integer :id, :options => 'PRIMARY KEY'
t.string :status_name, limit: 20
t.integer :status_check
t.timestamps
end
Run Code Online (Sandbox Code Playgroud)
从上面刚刚创建了 int4 类型的 id,但我想创建 int4 类型和主键而不自动递增的 id。我如何在不自动递增的情况下给出 id 并输入 int4(整数正常)
您可以根据此处的文档组合:id和选项: https ://apidock.com/rails/ActiveRecord/ConnectionAdapters/SchemaStatements/create_table:primary_key
例如:
class CreatedummyTable < ActiveRecord::Migration[6.0]
def change
create_table :dummy_table, id: :int4, primary_key: :foo do |t|
t.timestamps
end
end
end
Run Code Online (Sandbox Code Playgroud)
在 postgres 中创建此架构:
create_table "dummy_table", primary_key: "foo", id: :integer, default: nil, force: :cascade do |t|
t.datetime "created_at", precision: 6, null: false
t.datetime "updated_at", precision: 6, null: false
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2035 次 |
| 最近记录: |