Files
iistwin/scripts/check-db.js
Ильяс Султанов 1f5ecb6da4 fix(number-fields): избегаем потери точности длинных чисел
- number-поля теперь рендерятся как text + inputMode=numeric,
  чтобы браузер не округлял значения через input type=number
- пробелы при вставке в number-поля удаляются
- бэкенд нормализует значения number-полей в строку перед сохранением
- добавлен хелпер normalizeFieldValueForStorage

Closes: искажение расчётного счёта и других длинных числовых полей
2026-07-07 21:03:40 +03:00

46 lines
1.2 KiB
JavaScript

#!/usr/bin/env node
import pg from "pg";
const url = process.env.DATABASE_URL;
if (!url) {
console.error(
"[DB Check] ERROR: DATABASE_URL is not set.\n" +
" Make sure your .env file (or environment) defines DATABASE_URL.\n" +
" Example: DATABASE_URL=postgres://user:password@host:5432/dbname"
);
process.exit(1);
}
let host = "<unknown>";
try {
host = new URL(url).host;
} catch {
console.error(
"[DB Check] ERROR: DATABASE_URL appears to be malformed.\n" +
" Expected format: postgres://user:password@host:5432/dbname\n" +
" Check that DATABASE_URL is set correctly in your .env file or environment."
);
process.exit(1);
}
const client = new pg.Client({ connectionString: url });
try {
await client.connect();
await client.query("SELECT 1");
await client.end();
console.log(`[DB Check] Successfully connected to database at ${host}`);
} catch (err) {
console.error(
`[DB Check] ERROR: Cannot connect to the database at ${host}.\n` +
" Possible causes:\n" +
" - The database server is not running or not reachable\n" +
" - The credentials in DATABASE_URL are wrong\n" +
" - A firewall or network rule is blocking the connection\n" +
` Details: ${err.message}`
);
process.exit(1);
}