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

Migración de Rails + Postgres:¿por qué recibo el error PG::UndefinedFunction:ERROR:la función gen_random_uuid() no existe?

El problema era que uuid-ossp la extensión se estaba quedando sin aliento con la base de datos cada vez que soltaba la base de datos como parte de un reinicio y una migración (por ejemplo, rake db:drop db:create db:migrate ).

La solución es crear una migración que se ejecute antes que todas las demás migraciones y que habilite las extensiones relevantes. Así (db/migrate/0_enable_extensions.rb ):

class EnableExtensions < ActiveRecord::Migration[5.1]
  def change
    enable_extension 'uuid-ossp'
    enable_extension 'pgcrypto'
  end
end