Simulando uuid_generate_v4() en pg-mem para javascript

pg-mem es un proyecto de codigo abierto para javascript (funciona en Node.js y el navegador) donde podemos simular un servidor de Postgres en memoria, bastante útil para unit test y test locales.

No viene sin sus propias limitation, por defecto, pg-mem no tiene implementado extensiones nativas.

La más común que uso es uuid_generate_v4 como valor por defecto devuelve un uuid para los id en mis tablas.

Si quieramos emular el mismo comprtamiento aquí el código:

  import { v4 } from 'uuid';

  db.registerExtension('uuid-ossp', (schema) => {
    schema.registerFunction({
      name: 'uuid_generate_v4',
      returns: DataType.uuid,
      implementation: v4,
      impure: true,
    });
  });

Más información en inglés en el GitHub del proyecto oficial:

FAQ · oguimbal/pg-mem Wiki
An in memory postgres DB instance for your unit tests - FAQ · oguimbal/pg-mem Wiki
Mostrar comentarios