SQLite Database Gids

Finch gebruikt het sqlite3 pakket voor SQLite database-operaties. Je kunt het sqlite3 pakket gebruiken om databasebewerkingen in je Finch-applicatie uit te voeren.

Verbinden met SQLite

Om verbinding te maken met een SQLite-database, voeg de volgende code toe aan je app.dart bestand:

import 'package:finch/finch.dart';
import 'package:sqlite3/sqlite3.dart';

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

  final server = FinchApp(configs: configs);

  server.start().then((value) {
    Console.p("Server started: http://localhost:${value.port}");
  });
}

In bovenstaand voorbeeld hebben we de SQLite-database ingeschakeld en het bestandspad voor de database opgegeven. Je kunt het pad naar het databasebestand aanpassen.

SQLite gebruiken

Om de SQLite-database te gebruiken, kun je de app.sqliteDb eigenschap gebruiken. Deze eigenschap retourneert het Database object dat je kunt gebruiken voor database-operaties.

var db = app.sqliteDb;

Databasemodellen (SQL-gebaseerde tabellen)

Finch biedt een eenvoudige manier om databasemodellen voor SQLite te maken. Gebruik de MTable klasse om de structuur van een tabel te definiëren en MField klassen voor velddefinities.

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),
  ],
);

In het voorbeeld hebben we een tabel users gedefinieerd met velden id, name en email. Het id-veld is een integer en is ingesteld als primaire sleutel en auto-increment.

Je kunt MTable ook gebruiken om relaties tussen tabellen te definiëren, zoals foreign keys.

Sqler

Finch gebruikt het sqler pakket om SQL-queries te bouwen. Je kunt sqler gebruiken om complexe SQL-queries te genereren voor je SQLite-database.