راهنمای پایگاه داده MySQL

فینچ از پکیج mysql_client برای عملیات پایگاه داده MySQL استفاده می‌کند. می‌توانید با استفاده از این پکیج عملیات پایگاه داده را در برنامه فینچ خود انجام دهید.

اتصال به پایگاه داده MySQL

برای اتصال به پایگاه داده MySQL باید کد زیر را به فایل app.dart خود اضافه کنید:

import 'package:finch/finch.dart';

void main() async {
  final configs = FinchConfigs(
    mysqlConfig: FinchMysqlConfig(
      enable: true,
      host: 'localhost',
      port: 3306,
      user: 'database_username',
      pass: 'database_password',
      databaseName: 'database_name',
    ),
  );

  final server = FinchApp(configs: configs);

  server.start().then((value) {
    Console.p("سرور اجرا شد: http://localhost:${value.port}");
  });
}

در مثال بالا، پایگاه داده MySQL فعال شده و مقادیر هاست، پورت، نام کاربری، رمز عبور و نام پایگاه داده مشخص شده است. می‌توانید این مقادیر را مطابق با تنظیمات پایگاه داده خود تغییر دهید.

استفاده از پایگاه داده MySQL

برای استفاده از پایگاه داده MySQL می‌توانید از ویژگی app.mysqlDb استفاده کنید. این ویژگی یک شیء DatabaseDriver بازمی‌گرداند که می‌توانید برای عملیات پایگاه داده از آن استفاده کنید.

var db = app.mysqlDb;

مدل‌های پایگاه داده (جداول SQL)

فینچ راه ساده‌ای برای ساخت مدل‌های پایگاه داده MySQL فراهم می‌کند. می‌توانید از کلاس MTable برای تعریف ساختار جدول پایگاه داده خود استفاده کنید. این کلاس راه ساده‌ای برای تعریف فیلدهای جدول ارائه می‌دهد. می‌توانید از کلاس‌های MField برای تعریف فیلدها استفاده کنید.

import 'package:finch/finch.dart';

final table = MTable(
  name: 'users',
  fields: [
    MFieldInt(name: 'id', isPrimaryKey: true, isAutoIncrement: true),
    MFieldVarchar(name: 'name', length: 255),
    MFieldVarchar(name: 'email', length: 255),
  ],
);

در مثال بالا، جدولی به نام users با سه فیلد id، name و email تعریف شده است. فیلد id به عنوان کلید اصلی و به صورت خودکار افزایش می‌یابد. فیلدهای name و email نیز از نوع varchar با طول ۲۵۵ کاراکتر هستند.

می‌توانید از کلاس MTable برای ساخت جداول برنامه خود استفاده کنید. همچنین می‌توانید با این کلاس روابط بین جداول را نیز تعریف کنید. برای مثال، می‌توانید رابطه کلید خارجی بین دو جدول تعریف کنید.

Sqler

فینچ از پکیج sqler برای ساخت کوئری‌های SQL استفاده می‌کند. می‌توانید از این پکیج برای ساخت کوئری‌های پیچیده برای پایگاه داده MySQL خود استفاده کنید.

مثال

برای اطلاعات بیشتر می‌توانید پروژه example را در مخزن فینچ مشاهده کنید. این پروژه از پایگاه داده MySQL و امکانات پایگاه داده فینچ استفاده می‌کند.