اتصال Nextjs به دیتابیس
در این بخش می خواهیم آموزش نحوه اتصال Nextjs
به دیتابیس را در هاست نکست جی اس Nextjs به شما آموزش دهیم.
برای اتصال دیتابیس به سرویس Nextjs خود، در صورتی که از Pages router استفاده مینمایید، ابتدا در مسیر زیر میبایست فایل db.js را ایجاد نموده و سپس با توجه به نوع دیتابیس خود، فایل ایجاد شده را کانفیگ نمایید.
/app/pages/api/
اتصال به دیتابیس Mysql
برای اتصال دیتابیس Mysql به سرویس Nextjs، ابتدا میبایست پکیج mysql2 را نصب نمایید:
npm install mysql2
سپس فایل db.js را در مسیر /app/pages/api/ مانند نمونه زیر تکمیل نمایید:
import mysql from 'mysql2/promise';
const dbConfig = {
uri: 'mysql://USER:PASS@HOST:PORT/DB-NAME', // طبق مشخصات دیتابیس خود تکمیل شود.
};
let connection;
async function connectToDatabase() {
try {
if (connection) {
return connection;
}
connection = await mysql.createConnection(dbConfig.uri);
console.log('Connected.');
return connection;
} catch (error) {
console.error('Error:', error);
throw error;
}
}
export default connectToDatabase;
حال میتوانید با استفاده از کد زیر در برنامه خود، اتصال دیتابیس به برنامه را بررسی نمایید:
import connectToDatabase from './api/db.js';
export default function Home({ isConnectedToDB }) {
return (
<div>
<h1>DB connection</h1>
<p>Connected to MySQL: {isConnectedToDB ? 'Yes' : 'No'}</p>
</div>
);
}
export async function getStaticProps() {
let isConnectedToDB = false;
try {
await connectToDatabase();
isConnectedToDB = true;
} catch (error) {
isConnectedToDB = false;
}
return {
props: {
isConnectedToDB,
},
};
}
اتصال به دیتابیس Mariadb
برای اتصال دیتابیس Mariadb به سرویس Nextjs، ابتدا میبایست پکیج mariadb را نصب نمایید:
npm install mariadb
سپس فایل db.js را در مسیر /app/pages/api/ مانند نمونه زیر تکمیل نمایید:
import mariadb from 'mariadb';
const pool = mariadb.createPool({
host: 'HOST',
port: PORT,
user: 'USER',
password: 'PASS',
database: 'DB-NAME',
});
async function connectToDatabase() {
let connection;
try {
connection = await pool.getConnection();
console.log('Connected.');
return connection;
} catch (error) {
console.error('Error:', error);
throw error;
} finally {
if (connection) connection.release();
}
}
export default connectToDatabase;
حال میتوانید با استفاده از کد زیر در مسیر /app/pages/index.js اتصال دیتابیس به برنامه را بررسی نمایید:
import connectToDatabase from './api/db.js';
export default function Home({ isConnectedToDB }) {
return (
<div>
<h1>DB connection</h1>
<p>Connected to MariaDB: {isConnectedToDB ? 'Yes' : 'No'}</p>
</div>
);
}
export async function getStaticProps() {
let isConnectedToDB = false;
try {
const connection = await connectToDatabase();
isConnectedToDB = true;
} catch (error) {
isConnectedToDB = false;
}
return {
props: {
isConnectedToDB,
},
};
}
اتصال به دیتابیس PostgreSQL
برای اتصال دیتابیس PostgreSQL به سرویس Nextjs، ابتدا میبایست پکیج pg را نصب نمایید:
npm install pg