PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Migration Rails + Postgres - pourquoi est-ce que je reçois l'erreur PG::UndefinedFunction :ERREUR :la fonction gen_random_uuid() n'existe pas ?

Le problème était que le uuid-ossp l'extension était époustouflée avec la base de données chaque fois que je supprimais la base de données dans le cadre d'une réinitialisation et d'une migration (par exemple, rake db:drop db:create db:migrate ).

Le correctif consiste à créer une migration exécutée avant toutes les autres migrations qui active la ou les extensions pertinentes. Comme ça (db/migrate/0_enable_extensions.rb ):

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