fix relational
parent
1ba7b76072
commit
b29cece7ef
|
@ -13,7 +13,10 @@ export function getDatabase(database, databaseType, fallback) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!type) {
|
if (!type) {
|
||||||
return getDatabase(fallback);
|
if (fallback) {
|
||||||
|
return getDatabase(fallback);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return type;
|
return type;
|
||||||
|
|
|
@ -34,11 +34,15 @@ const kafka = global.kafka || getClient();
|
||||||
let kafkaProducer = null;
|
let kafkaProducer = null;
|
||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
kafkaProducer = global.kakfaProducer || (await getProducer());
|
if (kafka) {
|
||||||
|
kafkaProducer = global.kakfaProducer || (await getProducer());
|
||||||
|
}
|
||||||
|
|
||||||
if (process.env.NODE_ENV !== 'production') {
|
if (process.env.NODE_ENV !== 'production') {
|
||||||
global.kafka = kafka;
|
global.kafka = kafka;
|
||||||
global.kakfaProducer = kafkaProducer;
|
if (kafka) {
|
||||||
|
global.kakfaProducer = kafkaProducer;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ import {
|
||||||
POSTGRESQL,
|
POSTGRESQL,
|
||||||
POSTGRESQL_DATE_FORMATS,
|
POSTGRESQL_DATE_FORMATS,
|
||||||
} from 'lib/constants';
|
} from 'lib/constants';
|
||||||
import { getDatabase } from './db';
|
import { getDatabase } from 'lib/db';
|
||||||
import moment from 'moment-timezone';
|
import moment from 'moment-timezone';
|
||||||
|
|
||||||
const options = {
|
const options = {
|
||||||
|
@ -32,6 +32,7 @@ function getClient(options) {
|
||||||
|
|
||||||
return prisma;
|
return prisma;
|
||||||
}
|
}
|
||||||
|
|
||||||
const prisma = global.prisma || getClient(options);
|
const prisma = global.prisma || getClient(options);
|
||||||
|
|
||||||
if (process.env.NODE_ENV !== 'production') {
|
if (process.env.NODE_ENV !== 'production') {
|
||||||
|
@ -41,7 +42,7 @@ if (process.env.NODE_ENV !== 'production') {
|
||||||
export { prisma };
|
export { prisma };
|
||||||
|
|
||||||
export function getDateQuery(field, unit, timezone) {
|
export function getDateQuery(field, unit, timezone) {
|
||||||
const db = getDatabase();
|
const db = getDatabase(process.env.DATABASE_URL);
|
||||||
|
|
||||||
if (db === POSTGRESQL) {
|
if (db === POSTGRESQL) {
|
||||||
if (timezone) {
|
if (timezone) {
|
||||||
|
@ -61,6 +62,18 @@ export function getDateQuery(field, unit, timezone) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getTimestampInterval(field) {
|
||||||
|
const db = getDatabase(process.env.DATABASE_URL);
|
||||||
|
|
||||||
|
if (db === POSTGRESQL) {
|
||||||
|
return `floor(extract(epoch from max(${field}) - min(${field})))`;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (db === MYSQL) {
|
||||||
|
return `floor(unix_timestamp(max(${field})) - unix_timestamp(min(${field})))`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export function getFilterQuery(table, column, filters = {}, params = []) {
|
export function getFilterQuery(table, column, filters = {}, params = []) {
|
||||||
const query = Object.keys(filters).reduce((arr, key) => {
|
const query = Object.keys(filters).reduce((arr, key) => {
|
||||||
const filter = filters[key];
|
const filter = filters[key];
|
||||||
|
@ -151,7 +164,7 @@ export async function runQuery(query) {
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function rawQuery(query, params = []) {
|
export async function rawQuery(query, params = []) {
|
||||||
const db = getDatabase(process.env.DATABASE_URL, process.env.DATABASE_TYPE);
|
const db = getDatabase(process.env.DATABASE_URL);
|
||||||
|
|
||||||
if (db !== POSTGRESQL && db !== MYSQL) {
|
if (db !== POSTGRESQL && db !== MYSQL) {
|
||||||
return Promise.reject(new Error('Unknown database.'));
|
return Promise.reject(new Error('Unknown database.'));
|
||||||
|
|
Loading…
Reference in New Issue