sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Debo eliminar el campo de identificación predeterminado cuando uso una clave principal de cadena en Rails / Postgres?

Según esto publicación, debería resolver el problema:

class CreateEmployees < ActiveRecord::Migration
  def change
    create_table :employees, {:id => false} do |t|
      t.string :employment_id, :unique => true
      etc...
    end
  end
  execute "ALTER TABLE employees ADD PRIMARY KEY (employment_id);"
end

También en su modelo:

class Employee < ActiveRecord::Base
  set_primary_key :employment_id
  ...
end