Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

287
Visualizações
El tipo de columna uuid de migración de Postgres con el valor predeterminado no funciona

mi migración es

 class AddUuidToUsers < ActiveRecord::Migration def change add_column :users, :uuid, :uuid, null: false, default: 'uuid_generate_v4()' add_index :users, :uuid end end

El esquema se cambia con:

 t.uuid "uuid", default: "uuid_generate_v4()"

Como puede ver, tenemos el null: false no se agrega, ¿no está seguro de por qué?

Pero cuando intento con un tipo de columna común, por ejemplo, una string , funciona bien.

¿Existe alguna limitación para el tipo de columna :uuid que no podemos usar null: false ?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Rails 4.2 ignora totalmente la opción null para columnas uuid con un valor predeterminado. Puede marcar un objeto de columna para su modelo:

 > User.columns[2] # number of uuid column => #<ActiveRecord::ConnectionAdapters::PostgreSQLColumn:0x007fe6fee53f20 ... @sql_type="uuid", @null=true, @default=nil, @default_function="uuid_generate_v4()">

Pero las opciones de migración fueron las mismas que en su ejemplo:

 add_column :users, :uuid, :uuid, null: false, default: 'uuid_generate_v4()'

Rails 5.0 solucionó este error. El objeto de columna mantiene la opción null para la misma migración:

 > User.columns[2] => #<ActiveRecord::ConnectionAdapters::PostgreSQLColumn:0x007fa6c3722650 ... @sql_type="uuid", @type=:uuid, @null=false, @default=nil, @default_function="uuid_generate_v4()", @collation=nil, @comment=nil>

Y schema.rb también contiene null: false :

 t.uuid "uuid", default: -> { "uuid_generate_v4()" }, null: false
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda