|
|
import PocketBase from "pocketbase";
|
|
|
const pb = new PocketBase("http://localhost:8090");
|
|
|
await pb.collection("_superusers").authWithPassword('tad17@list.ru', '0987654321');
|
|
|
|
|
|
async function appendItem(table_name, item) {
|
|
|
//console.log("item:", item)
|
|
|
|
|
|
try {
|
|
|
const p = await pb.collection(table_name).create(item)
|
|
|
//console.log("ответ PocketBase:", p)
|
|
|
//console.log("запись:", p.id, p.patientName);
|
|
|
} catch (err) {
|
|
|
console.error('Ошибка:', err.message);
|
|
|
process.exit(1);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
async function importJSON(json_name, table_name) {
|
|
|
const items = await Bun.file(json_name).json();
|
|
|
console.log(`Прочитано: ${items.length} записей`)
|
|
|
|
|
|
let appended = 0
|
|
|
for (const item of items) {
|
|
|
await appendItem(table_name, item)
|
|
|
appended++
|
|
|
}
|
|
|
console.log(`Загружено: ${appended} записей`)
|
|
|
}
|
|
|
async function clearCollection(name) {
|
|
|
let totalDeleted = 0;
|
|
|
let batch = 50; // размер пачки
|
|
|
let page = 1;
|
|
|
|
|
|
while (true) {
|
|
|
// получаем страницу записей
|
|
|
const records = await pb.collection(name).getList(page, batch, { fields: "id" });
|
|
|
|
|
|
if (records.items.length === 0) break;
|
|
|
|
|
|
for (const rec of records.items) {
|
|
|
await pb.collection(name).delete(rec.id);
|
|
|
totalDeleted++;
|
|
|
//process.stdout.write(`\rУдалено: ${totalDeleted}`);
|
|
|
}
|
|
|
|
|
|
// после удаления текущей страницы снова начинаем с 1,
|
|
|
// потому что нумерация сдвигается
|
|
|
page = 1;
|
|
|
}
|
|
|
|
|
|
console.log(`\nКоллекция "${name}" очищена. Всего удалено: ${totalDeleted}`);
|
|
|
}
|
|
|
|
|
|
|
|
|
async function test() {
|
|
|
const resultList = await pb.collection('rmias').getList(1, 50, {
|
|
|
filter: 'patientName ~ "К"',
|
|
|
});
|
|
|
console.log(resultList)
|
|
|
const record = await pb.collection('rmias').getOne('sp3ircowx2ckg63');
|
|
|
console.log(record)
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//test()
|
|
|
//await clearCollection("rmias");
|
|
|
await importJSON("excel/ДВН2.json", "dvn2")
|
|
|
console.log("Готово") |