ادامه موضوع: نحوه ایجاد یک برنامه مالی شخصی با ادغام Google Drive، MySQL و Node.js

مرحله 6: اتصال به پایگاه داده**
در این مرحله، نحوه برقراری ارتباط بین برنامه Node.js و پایگاه داده MySQL را برای ماندگاری موثر داده ها بررسی می کنیم. شما یاد خواهید گرفت که:
- اعتبار پایگاه داده خود را در Node.js تنظیم کنید.
- از کتابخانه استفاده کنید
mysql2
برای مدیریت اتصال - ایجاد پرس و جوهای اساسی برای درج، به روز رسانی و بازیابی داده ها.
این مرحله برای بهینه سازی عملکرد برنامه، اجتناب از خواندن مداوم فایل ها در Google Drive و امکان تجزیه و تحلیل کارآمدتر داده های ذخیره شده ضروری است. 🚀
مستندات کد اتصال به پایگاه داده با MySQL در Node.js
این کد با استفاده از یک پایگاه داده MySQL ارتباط برقرار می کند mysql2 و خطاها و پرس و جوهای اتصال را با استفاده از وعده ها مدیریت کنید. هر بخش از فرآیند برای مستندسازی استفاده از آن در زیر به تفصیل شرح داده شده است.
تنظیمات کد
-
الزامات محیطی و پیکربندی:
- بسته مورد نیاز
mysql2
برای تعامل با پایگاه داده MySQL. - استفاده می شود
dotenv
برای مدیریت متغیرهای محیطی، اجازه می دهد اطلاعات حساس مانند اعتبار پایگاه داده به طور ایمن پیکربندی شوند. - تنظیمات اتصال از یک فایل پیکربندی یا در صورت استفاده از متغیرهای محیطی به دست می آید
dotenv
.
const mysql = require('mysql2'); const { promisify } = require('util'); require('dotenv').config(); // Cargar variables de entorno const localhost = process.env.DATABASE_CONFIG || require('../config'); // Recuperar configuración desde dotenv o archivo de configuración
- بسته مورد نیاز
-
ایجاد استخر اتصال:
- یک مخزن اتصال با استفاده از پیکربندی بازیابی شده ایجاد می شود. این به حفظ اتصالات پایدار و قابل استفاده مجدد و بهینه سازی عملکرد کمک می کند.
const pool = mysql.createPool(localhost);
-
پرس و جو قول:
- پرس و جوها به صورت ناهمزمان با استفاده از آنها رسیدگی می شوند
promisify
. این امر مدیریت نتایج و خطاهای پرس و جو را ساده می کند.
pool.query = promisify(pool.query);
- پرس و جوها به صورت ناهمزمان با استفاده از آنها رسیدگی می شوند
-
مدیریت خطا:
- خطاهای احتمالی اتصال و پرس و جو رسیدگی می شود. به عنوان مثال، خطاهایی مانند عدم دسترسی، قطع شدن اتصال، یا رسیدن به حداکثر اتصال به طور خاص رسیدگی می شوند.
pool.getConnection() .then(connection => { connection.release(); console.log("Conexión establecida correctamente."); }) .catch(err => { if (err.code === 'ER_NOT_SUPPORTED_AUTH_MODE' || err.code === 'ER_ACCESS_DENIED_ERROR') { console.error('Error de acceso denegado. Revise las credenciales.'); } else if (err.code === 'PROTOCOL_CONNECTION_LOST') { console.error('La conexión con la base de datos se perdió.'); } else if (err.code === 'ER_CON_COUNT_ERROR') { console.error('Demasiadas conexiones activas.'); } else if (err.code === 'ECONNREFUSED') { console.error('La conexión con la base de datos fue rechazada.'); } else { console.error(`Error desconocido: ${err.message}`); } });
توضیح مفصل کد
-
الزامات و پیکربندی:
-
mysql2
یک API برای تعامل با MySQL فراهم می کند. -
dotenv
برای مدیریت تنظیمات از طریق یک فایل استفاده می شود.env
یا مستقیماً متغیرهای محیطی -
localhost
شامل داده های پیکربندی پایگاه داده مانند میزبان، کاربر، رمز عبور و غیره است.
-
-
ایجاد استخر:
-
mysql.createPool(localhost)
یک اتصال پایدار ایجاد می کند که برای برنامه هایی که چندین اتصال را به طور همزمان مدیریت می کنند ایده آل است.
-
-
قول دادن:
- پرس و جوهای SQL برای استفاده به عنوان توابع ناهمزمان وعده داده شده اند، که مدیریت آنها را در برنامه های مدرن آسان تر می کند.
-
مدیریت خطا:
- خطاهای رایج مانند اتصالات از دست رفته، دسترسی ها رد شده یا رد درخواست ها با دقت بررسی می شوند تا پیام های مفیدی به توسعه دهنده ارائه شود و از خرابی ها جلوگیری شود.
استفاده در پروژه ها
این کد برای اتصال برنامههای Node.js به پایگاههای داده MySQL مفید است و راهحلی قوی برای مدیریت اتصال و خطا با استفاده از تکنیکهای مدرن مانند promisification و مدیریت صحیح استثنا ارائه میدهد.