all the haul
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
import { PrismaMssql } from "@prisma/adapter-mssql";
|
||||
import { PrismaClient } from "./generated/prisma/client";
|
||||
|
||||
const connectionString = process.env.DATABASE_URL;
|
||||
if (!connectionString) {
|
||||
throw new Error("DATABASE_URL is not set.");
|
||||
}
|
||||
|
||||
const prisma = new PrismaClient({
|
||||
adapter: new PrismaMssql(connectionString),
|
||||
});
|
||||
|
||||
try {
|
||||
const rowSummary = await prisma.$queryRawUnsafe<
|
||||
Array<{ total_rows: number; distinct_configs: number }>
|
||||
>(`
|
||||
SELECT
|
||||
COUNT(*) AS total_rows,
|
||||
COUNT(DISTINCT Config_RecID) AS distinct_configs
|
||||
FROM dbo.Config_User_Defined_Field_Value;
|
||||
`);
|
||||
|
||||
const relatedRowCounts = await prisma.$queryRawUnsafe<
|
||||
Array<{
|
||||
config_rows: number;
|
||||
cs_result_detail_rows: number;
|
||||
config_custom_field_nonempty: number;
|
||||
}>
|
||||
>(`
|
||||
SELECT
|
||||
(SELECT COUNT(*) FROM dbo.Config) AS config_rows,
|
||||
(SELECT COUNT(*) FROM dbo.CS_Result_Detail) AS cs_result_detail_rows,
|
||||
(SELECT COUNT(*)
|
||||
FROM dbo.Config
|
||||
WHERE Custom_Field IS NOT NULL
|
||||
AND LEN(LTRIM(RTRIM(CONVERT(nvarchar(max), Custom_Field)))) > 0) AS config_custom_field_nonempty;
|
||||
`);
|
||||
|
||||
const topConfigs = await prisma.$queryRawUnsafe<
|
||||
Array<{ config_recid: number; field_count: number }>
|
||||
>(`
|
||||
SELECT TOP 10
|
||||
Config_RecID AS config_recid,
|
||||
COUNT(*) AS field_count
|
||||
FROM dbo.Config_User_Defined_Field_Value
|
||||
GROUP BY Config_RecID
|
||||
ORDER BY field_count DESC, config_recid ASC;
|
||||
`);
|
||||
|
||||
const customFieldSamples = await prisma.$queryRawUnsafe<
|
||||
Array<{ config_recid: number; custom_field_prefix: string }>
|
||||
>(`
|
||||
SELECT TOP 5
|
||||
Config_RecID AS config_recid,
|
||||
LEFT(CONVERT(nvarchar(max), Custom_Field), 250) AS custom_field_prefix
|
||||
FROM dbo.Config
|
||||
WHERE Custom_Field IS NOT NULL
|
||||
AND LEN(LTRIM(RTRIM(CONVERT(nvarchar(max), Custom_Field)))) > 0
|
||||
ORDER BY Config_RecID ASC;
|
||||
`);
|
||||
|
||||
console.log(
|
||||
JSON.stringify(
|
||||
{
|
||||
rowSummary: rowSummary[0] ?? null,
|
||||
relatedRowCounts: relatedRowCounts[0] ?? null,
|
||||
topConfigs,
|
||||
customFieldSamples,
|
||||
},
|
||||
null,
|
||||
2,
|
||||
),
|
||||
);
|
||||
} finally {
|
||||
await prisma.$disconnect();
|
||||
}
|
||||
Reference in New Issue
Block a user