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

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

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

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

import 'package:finch/finch.dart';

void main() async {
  final configs = FinchConfigs(
    sqliteConfig: FinchSqliteConfig(
      enable: true,
      path: 'database.sqlite',
    ),
  );

  final server = FinchApp(configs: configs);

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

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

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

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

var db = app.sqliteDb;

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

فینچ راه ساده‌ای برای ساخت مدل‌های پایگاه داده SQLite فراهم می‌کند. می‌توانید از کلاس 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 استفاده می‌کند. می‌توانید از این پکیج برای ساخت کوئری‌های پیچیده برای پایگاه داده SQLite خود استفاده کنید.

مثال

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