PostgreSQL로 Adonis v5 설정
In this multi-part tutorial, we'll create and deploy a multi-server architecture web application.
Part 1:
Part 2: Setting up Adonis v5 with PostgreSQL
Part 3:
Part 4:
Part 5:
사용된 프레임워크 및 도구
2부 - PostgreSQL로 Adonis v5 설정
이제 AdonisJS 버전 5를 미리 볼 수 있으며 Typescript로 완전히 다시 작성되어 대대적인 점검이 이루어집니다. 이 튜토리얼에서는 버전 5를 사용할 것이며 new documentation here 을 확인할 수 있습니다.
로컬 머신에 AdonisJS v5 설치
먼저 다음 명령을 실행하여 터미널을 통해 Adonis 프로젝트를 설치합니다.
yarn create adonis-ts-app movieapi
프로젝트 이름을 다른 이름으로 지정하려면 교체movieapi
하십시오.
질문이 표시되면 API만 생성하므로 API Server
옵션을 선택합니다.
설치가 완료되면 다음 명령을 실행하라는 메시지가 표시됩니다.
cd movieapi
node ace serve --watch
이것은 movieapi
디렉토리를 열고 시작 프로젝트를 제공합니다.
앱은 로컬 호스트에서 제공되며 터미널에서 <address>:<port number>
를 복사하여 웹 브라우저에 붙여넣습니다.
브라우저에 다음이 표시되면 시작이 잘 된 것입니다!
{"hello":"world"}
AdonisJS v5용 PostgreSQL 드라이버 설치
이제 PostgreSQL용 데이터베이스 드라이버를 설치하는 작업을 할 것입니다. 다른 데이터베이스 유형을 사용하도록 선택할 수 있습니다. 그렇다면 instructions for the database type you want to use 을 따르십시오.
선택한 데이터베이스 유형에 관계없이 먼저 lucid
를 설치해야 합니다.
cd movieapi
yarn add @adonisjs/lucid@alpha
다음을 실행합니다.
node ace invoke @adonisjs/lucid
그런 다음 설치할 데이터베이스 드라이버를 묻는 메시지가 표시됩니다. PostgreSQL을 선택하겠습니다.
마지막으로 Postgres 드라이버 구성을 마치겠습니다.
npm i pg
Adonis와 Postgres 간의 데이터베이스 연결 확인
먼저 컴퓨터에서 실행 중인 PostgreSQL 인스턴스가 있는지 확인합니다.
DBngin은 로컬 데이터베이스 서버를 관리하는 빠르고 쉬운 방법을 제공합니다. 이를 사용하여 내 시스템에서 PostgreSQL 서버를 실행한 다음 TablePlus를 통해 서버에 연결하고 movies
라는 새 데이터베이스를 추가합니다.
이제 IntelliJ에서 movieapi
프로젝트를 열고 database.ts
파일로 이동하여 데이터베이스 연결을 구성합니다.
pg: {
client: 'pg',
connection: {
host: Env.get('DB_HOST', '127.0.0.1') as string,
port: Number(Env.get('DB_PORT', 5432)),
user: Env.get('DB_USER', 'postgres') as string,
password: Env.get('DB_PASSWORD', '') as string,
database: Env.get('DB_NAME', 'movies') as string,
},
healthCheck: true,
},
참고 - postgres
는 일반적으로 새 PostgreSQL 설치의 기본 사용자 이름입니다.
또한 Adonis는 쿼리가 실행될 때만 데이터베이스 연결을 시도하므로 healthCheck
가 true
로 설정되어 있는지 확인해야 합니다. 또한 상태 확인 기능을 사용하면 데이터베이스 연결을 빠르게 테스트할 수 있습니다.
위의 구성에서 Adonis가 먼저 .env 파일에 변수가 있는지 확인하는 것을 볼 수 있습니다. 따라서 .env 파일의 기본값도 변경해야 합니다.
DB_USER=postgres
DB_PASSWORD=
DB_NAME=movies
이제 routes.ts
를 열고 상태 확인을 가져온 다음 상태 확인 경로를 추가합니다.
import HealthCheck from '@ioc:Adonis/Core/HealthCheck'
Route.get('health', async ({ response }) => {
const report = await HealthCheck.getReport()
return report.healthy
? response.ok(report)
: response.badRequest(report)
})
이제 연결을 확인할 수 있습니다. 프로세스가 중지된 경우 다시 실행해야 할 수도 있습니다node ace serve --watch
.
또한 이 단계에서 오류가 발생하여 계속하려면 설치proxy-addr
해야 했습니다. 이 오류도 발생하면 다음 명령을 실행한 다음 프로젝트를 다시 제공하세요.
npm install proxy-addr
브라우저를 열고 URL에 /health
를 추가하여 상태 확인 결과를 확인합니다. 데이터베이스와 성공적으로 연결되면 다음 메시지가 표시됩니다.
{"healthy":true,"report":{"env":{"displayName":"Node Env Check","health":{"healthy":true}},"appKey":{"displayName":"App Key Check","health":{"healthy":true}},"lucid":{"displayName":"Database","health":{"healthy":true,"message":"All connections are healthy"},"meta":[{"connection":"pg","message":"Connection is healthy","error":null}]}}}
이제 Adonis 및 PostgreSQL 연결이 설정되고 작동 중이므로 .
따라해? GitHubhttps://github.com/armgitaar/moviesapi에서 2부 진행 상황을 확인하세요.
Reference
이 문제에 관하여(PostgreSQL로 Adonis v5 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/armiedema/setting-up-adonis-v5-with-postgresql-adl
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
yarn create adonis-ts-app movieapi
cd movieapi
node ace serve --watch
{"hello":"world"}
cd movieapi
yarn add @adonisjs/lucid@alpha
node ace invoke @adonisjs/lucid
npm i pg
pg: {
client: 'pg',
connection: {
host: Env.get('DB_HOST', '127.0.0.1') as string,
port: Number(Env.get('DB_PORT', 5432)),
user: Env.get('DB_USER', 'postgres') as string,
password: Env.get('DB_PASSWORD', '') as string,
database: Env.get('DB_NAME', 'movies') as string,
},
healthCheck: true,
},
DB_USER=postgres
DB_PASSWORD=
DB_NAME=movies
import HealthCheck from '@ioc:Adonis/Core/HealthCheck'
Route.get('health', async ({ response }) => {
const report = await HealthCheck.getReport()
return report.healthy
? response.ok(report)
: response.badRequest(report)
})
npm install proxy-addr
{"healthy":true,"report":{"env":{"displayName":"Node Env Check","health":{"healthy":true}},"appKey":{"displayName":"App Key Check","health":{"healthy":true}},"lucid":{"displayName":"Database","health":{"healthy":true,"message":"All connections are healthy"},"meta":[{"connection":"pg","message":"Connection is healthy","error":null}]}}}
Reference
이 문제에 관하여(PostgreSQL로 Adonis v5 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/armiedema/setting-up-adonis-v5-with-postgresql-adl텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)