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