Initial commit - Event Planner application
This commit is contained in:
38
node_modules/@mikro-orm/postgresql/PostgreSqlConnection.js
generated
vendored
Normal file
38
node_modules/@mikro-orm/postgresql/PostgreSqlConnection.js
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
import { Pool, TypeOverrides } from 'pg';
|
||||
import Cursor from 'pg-cursor';
|
||||
import { PostgresDialect } from 'kysely';
|
||||
import array from 'postgres-array';
|
||||
import { AbstractSqlConnection, Utils } from '@mikro-orm/sql';
|
||||
/** PostgreSQL database connection using the `pg` driver. */
|
||||
export class PostgreSqlConnection extends AbstractSqlConnection {
|
||||
createKyselyDialect(overrides) {
|
||||
const options = this.mapOptions(overrides);
|
||||
return new PostgresDialect({
|
||||
pool: new Pool(options),
|
||||
cursor: Cursor,
|
||||
onCreateConnection: this.options.onCreateConnection ?? this.config.get('onCreateConnection'),
|
||||
});
|
||||
}
|
||||
mapOptions(overrides) {
|
||||
const ret = { ...this.getConnectionOptions() };
|
||||
const pool = this.config.get('pool');
|
||||
Utils.defaultValue(ret, 'max', pool?.max);
|
||||
Utils.defaultValue(ret, 'idleTimeoutMillis', pool?.idleTimeoutMillis);
|
||||
// use `select typname, oid, typarray from pg_type order by oid` to get the list of OIDs
|
||||
const types = new TypeOverrides();
|
||||
[
|
||||
1082, // date
|
||||
1114, // timestamp
|
||||
1184, // timestamptz
|
||||
1186, // interval
|
||||
].forEach(oid => types.setTypeParser(oid, str => str));
|
||||
[
|
||||
1182, // date[]
|
||||
1115, // timestamp[]
|
||||
1185, // timestamptz[]
|
||||
1187, // interval[]
|
||||
].forEach(oid => types.setTypeParser(oid, str => array.parse(str)));
|
||||
ret.types = types;
|
||||
return Utils.mergeConfig(ret, overrides);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user