Quick fix for development machines, when running Budibase development stack on systems that are not oracle compatiable it would fail to start due to the lack of dependency.

This commit is contained in:
mike12345567 2022-09-30 15:19:34 +01:00
parent 0f66af7556
commit 476bb79c29
2 changed files with 19 additions and 6 deletions

View File

@ -57,7 +57,11 @@ const INTEGRATIONS: { [key: string]: any } = {
}
// optionally add oracle integration if the oracle binary can be installed
if (process.arch && !process.arch.startsWith("arm")) {
if (
process.arch &&
!process.arch.startsWith("arm") &&
oracle.integration.isInstalled()
) {
DEFINITIONS[SourceName.ORACLE] = oracle.schema
INTEGRATIONS[SourceName.ORACLE] = oracle.integration
}

View File

@ -15,17 +15,22 @@ import {
getSqlQuery,
SqlClient,
} from "./utils"
import oracledb, {
import Sql from "./base/sql"
import { FieldTypes } from "../constants"
import {
BindParameters,
Connection,
ConnectionAttributes,
ExecuteOptions,
Result,
} from "oracledb"
import Sql from "./base/sql"
import { FieldTypes } from "../constants"
oracledb.outFormat = oracledb.OUT_FORMAT_OBJECT
let oracledb: any
try {
oracledb = require("oracledb")
oracledb.outFormat = oracledb.OUT_FORMAT_OBJECT
} catch (err) {
console.log("ORACLEDB is not installed")
}
interface OracleConfig {
host: string
@ -183,6 +188,10 @@ class OracleIntegration extends Sql implements DatasourcePlus {
return parts.join(" || ")
}
static isInstalled() {
return oracledb != null
}
/**
* Map the flat tabular columns and constraints data into a nested object
*/