I have such a structure, I want to assign the SQL query coming out of this structure to a variable.
const rawSQLQuery = Customer.findAll({
where: excludeCustomerData,
distinct: true,
having: getFieldOccurrences(excludeQueryData).length
? Sequelize.literal(
getFieldOccurrences(excludeQueryData)
?.map(
(field) =>
`COUNT(DISTINCT "${field.aliases}"."${field.fieldName}") = ${field.length}`
)
.join(" AND ")
)
: null,
include: [
{
model: Invoice,
as: "Invoices",
where: excludeInvoiceData,
include: [
{
model: Product,
as: "Products",
where: excludeProductData,
include: [
{
model: Category,
as: "Categories",
where: excludeCategoryData,
},
],
},
],
},
],
},
).
console.log("Raw SQL Query:", rawSQLQuery);
I want to store the SQL query that appears on the console in a variable:
SELECT "Customer"."CustomerNumber", "Customer"."CustomerNumber", count(DISTINCT("Customer"."CustomerNumber")) AS "count" FROM "Customer" AS "Customer" INNER JOIN "Invoice" AS "Invoices" ON "Customer"."CustomerNumber" = "Invoices"."CustomerNumber" AND "Invoices"."OrderLineNumber" IS NOT NULL INNER JOIN "Product" AS "Invoices->Products" ON "Invoices"."ProductNumber" = "Invoices->Products"."ProductNumber" AND "Invoices->Products"."ProductNumber" IS NOT NULL INNER JOIN "Category" AS "Invoices->Products->Categories" ON "Invoices->Products"."ProductCategoryNumber" = "Invoices->Products->Categories"."CategoryNumber" AND "Invoices->Products->Categories"."CategoryNumber" IS NOT NULL WHERE "Customer"."City" = 'Londra' GROUP BY "Customer"."CustomerNumber";
Versions:
"pg": "^8.12.0",
"pg-hstore": "^2.3.4",
"sequelize": "^6.37.3",