PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Migração Rails + Postgres - por que estou recebendo o erro PG::UndefinedFunction:ERROR:a função gen_random_uuid() não existe?


O problema era que o uuid-ossp extensão estava sendo deslumbrada com o banco de dados cada vez que eu soltava o db como parte de uma redefinição e migração (por exemplo, rake db:drop db:create db:migrate ).

A correção é criar uma migração que é executada antes de todas as outras migrações que habilitam a(s) extensão(ões) relevante(s). Assim (db/migrate/0_enable_extensions.rb ):
class EnableExtensions < ActiveRecord::Migration[5.1]
  def change
    enable_extension 'uuid-ossp'
    enable_extension 'pgcrypto'
  end
end