Читаоци попут вас помажу у подршци МУО. Када обавите куповину користећи везе на нашем сајту, можда ћемо зарадити провизију за партнере. Опширније.

Интеракција са ПостгреСКЛ базом података или било којом другом базом података директно повећава количину СКЛ-а који пишете. Ово може довести до безбедносних проблема као што су напади СКЛ ињекције и ограничити преносивост ваше базе података. Препоручљиво је да користите ОРМ (Објецт Релатион Маппер) као што је Присма који обезбеђује слој апстракције на врху ваше базе података.

Научите како да користите Присму у Нект.јс за повезивање и интеракцију са ПостгреСКЛ базом података.

Креирање Нект.јс апликације

Пре него што креирате Нект.јс апликацију, уверите се да јесте Инсталирани чвор и нпм у вашем развојном окружењу.

Креирајте Нект.јс апликацију под називом присма-нект тако што ћете покренути ову команду у свом терминалу:

нпк цреате-нект-апп присма-нект

Ово ће креирати нови директоријум под називом присма-нект са основним датотекама за почетак.

Идите до директоријума присма-нект и покрените развојни сервер помоћу ове команде:

нпм рун дев

Ово покреће развојни сервер на http://localhost: 3000.

Ово су основни кораци за креирање нове Нект.јс апликације. Можете сазнати више о функцијама Нект.јс ако погледате овај чланак на зашто прећи на Нект.јс.

Инсталирање Присма клијента

Да бисте почели да користите Присма, биће вам потребни пакети присма и @присма/цлиент. присма је Присма ЦЛИ алат, док је @присма/цлиент аутоматски генерисани креатор упита који ће вам помоћи да постављате упите у своју базу података.

Инсталирајте ова два пакета преко нпм-а.

нпм инсталл присма @присма/цлиент

Затим иницијализујте призму покретањем команде нпк присма инит на терминалу.

нпк присма инит

Ово ће генерисати нову датотеку под називом схема.призма који садржи шему базе података и а .енв датотеку у коју ћете додати УРЛ везе са базом података.

Додавање УРЛ-а везе

Потребан вам је УРЛ везе да бисте повезали Присму са вашим ПостгреСКЛ база података. Општи формат УРЛ адресе везе је следећи:

постгрес://{усернаме}:{пассворд}@{хостнаме}:{порт}/{датабасе-наме}

Замените елементе у витичастим заградама детаљима своје базе података, а затим их сачувајте у .енв датотеци:

ДАТАБАСЕ_УРЛ = ” ваш низ везе”

Затим у сцхема.присма наведите УРЛ везе са базом података:

извор података дб {
провајдер = "ПостгреСКЛ"
урл = енв("ДАТАБАСЕ_УРЛ")
}

Дефинисање шеме базе података

Шема базе података је структура која дефинише модел података ваше базе података. Он одређује табеле, колоне и односе између табела у бази података, као и сва ограничења и индексе које база података треба да користи.

Да бисте креирали шему за базу података са табелом корисника, отворите датотеку сцхема.присма и додајте модел корисника.

модел Корисник {
ид Стринг @дефаулт (цуид()) @ид
наме Стринг?
емаил Стринг @уникуе
}

Модел корисника има колону ид која је примарни кључ, колону имена низа типа и колону е-поште која треба да буде јединствена.

Након што дефинишете модел података, морате да примените своју шему у бази података користећи нпк присма дбгурати команда.

нпк присма дб пусх

Ова команда креира стварне табеле у бази података.

Коришћење Присме у Нект.јс

Да бисте користили Присма у Нект.јс, потребно је да креирате инстанцу клијента Присма.

Прво, генеришите Присма клијента.

нпк присма гене

Затим направите нову фасциклу под називом либ и додајте нову датотеку под називом присма.јс у њу. У ову датотеку додајте следећи код да бисте креирали инстанцу клијента Присма.

увоз { ПрисмаЦлиент } из„@присма/цлиент“;
дозволити присма;

ако (типпрозор"недефинисан") {
ако (процесс.енв. НОДЕ_ЕНВ "производња") {
присма = Нова ПрисмаЦлиент();
} друго {
ако (!глобал.призма) {
глобал.призма = Нова ПрисмаЦлиент();
}

присма = глобал.присма;
}
}

извозУобичајено присма;

Сада можете да увезете клијент Присма као „присма“ у своје датотеке и почнете да постављате упите у базу података.

Испитивање базе података у Нект.јс АПИ рути

Присма се обично користи на страни сервера, где може безбедно да комуницира са вашом базом података. У Нект.јс апликацији можете подесити АПИ руту која користи Присму за преузимање података из базе података и враћање их клијенту. Странице или компоненте затим могу преузети податке са АПИ руте користећи ХТТП библиотека као што је Акиос или дохвати.

Креирајте АПИ руту тако што ћете отворити фасциклу пагес/апи и креирати нову потфасциклу под називом дб. У овој фасцикли направите датотеку под називом цреатеусер.јс и додајте следећу функцију руковаоца.

увоз призма из"@/либ/присма";

извозУобичајеноасинцфункцијаруковалац(рек, рес) {
конст { име, емаил } = рек.куери;

покушати {
конст невУер = чекати призма. Усер.цреате({
подаци: {
име,
емаил,
},
});

рес.јсон({ корисник: невУер, грешка: нула });
} улов (грешка) {
рес.јсон({ грешка: порука о грешци, корисник: нула });
}
}

Ова функција добија име и е-пошту од тела захтева. Затим, у блоку три/цатцх, користи метод креирања који обезбеђује Присма клијент за креирање новог корисника. Функција враћа ЈСОН објекат који садржи корисника и поруку о грешци ако постоји.

У једној од ваших компоненти, сада можете да упутите захтев овој АПИ рути. Да бисте демонстрирали, направите нову фасциклу под називом профил у директоријуму апликације и додајте нову датотеку под називом паге.јс. Затим додајте једноставан образац који садржи два поља за унос имена и е-поште и дугме за слање.

У образац додајте догађај приликом слања који позива функцију под називом хандлеСубмит. Форма би требало да изгледа овако:

"користи клијент";
увоз Реагујте, { усеСтате } из"реаговати";

извозУобичајенофункцијаСтрана() {
конст [име, име скупа] = усеСтате("");
конст [емаил, сетемаил] = усеСтате("");

конст хандлеСубмит = асинц (е) => {
е.превентДефаулт();
};

повратак (


типе={тект}
плацехолдер=„Додај име“
валуе={наме}
онЦханге={сетнаме((е) => е.таргет.валуе)}
/>

типе={тект}
плацехолдер=„Додај имејл“
валуе={емаил}
онЦханге={сетемаил((е) => е.таргет.валуе)}
/>

У функцији хандлеСубмит, користите метод дохватања да бисте упутили захтев на /апи/дб/цреатеусер руту.

конст хандлеСубмит = асинц (е) => {
е.превентДефаулт();

конст корисник = чекати донеси ("/апи/дб/цреатеусер", {
Тип садржаја: "апплицатион/јсон",
тело: ЈСОН.стрингифи({ име, емаил }),
});
};

Сада, када се образац пошаље, Присма ће креирати нови кориснички запис у табели корисника.

Урадите више са Присмом

Можете да користите Присму да бисте се повезали са ПостгреСКЛ базом података и поставили упит из апликације Нект.јс.

Поред додавања нових записа у базу података, можете покренути и друге СКЛ команде. На пример, можете избрисати редове, изабрати редове на основу одређених услова, па чак и ажурирати постојеће податке ускладиштене у бази података.