앞으로에 진행될 프로젝트를 위해 선행되어야할 nextjs 에 대해 공부하려던 참
게시판 한번 만들어 보려고 DB 붙이려는데... 처음부터 난관에 봉착...!
기존 개인용으로 사용하던 오라클 클라우드 DB를 붙여보려했으나 필요한 클라이언트프로그램을 아직 m1은 지원하지 않고 windows 만 지원하질 않나...
정보도 많이 없고 겨우 찾은 블로그 글도 불친철하다...ㅠㅠ
각설하고 어제오늘의 삽질을 기록해보자
const mysql = require('mysql');
// const mysql = require('mysql2'); for MAC
const connection = mysql.createConnection({
host: 'localhost',
// host: '127.0.0.1', for MAC
user: 'root',
password: 'qkrqudahr1!',
database: 'example'
});
function queryPromise(queryString) {
return new Promise((resolve, reject) => {
connection.query(queryString, (error, results) => {
if (error) {
return reject(error);
}
resolve(results);
});
});
}
export default async function handler(req, res) {
let queryString = "SELECT 1 + 1";
try {
const rows = await queryPromise(queryString);
res.status(200).json(rows);
} catch (error) {
console.error(error);
res.status(500).send('Internal Server Error');
}
}
'mysql' 모듈을 사용해 MySQL DB에 연결하고
try...catch...
: queryPromise() 가 반환한 Promise에 따라 분기 처리await
를 통해 queryPromise() 가 처리될 때까지 기다림
...
<li><Link href='/api/dbconfig'>DB TEST</Link></li>
...
위와 같이 Link 걸어두고 테스트 해보면
짜잔...! 성공적으로 TEST가 되었다.