MySQL Database Gids
Finch gebruikt het mysql_client pakket voor MySQL database-operaties. Je kunt mysql_client gebruiken om databasebewerkingen in je Finch-applicatie uit te voeren.
Verbinden met MySQL
Om verbinding te maken met een MySQL-database, voeg de volgende code toe aan je app.dart bestand:
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("Server started: http://localhost:${value.port}");
});
}
In bovenstaand voorbeeld hebben we de MySQL-database ingeschakeld en de host, poort, gebruikersnaam, wachtwoord en databasenaam opgegeven. Je kunt deze waarden aanpassen aan jouw databaseconfiguratie.
MySQL gebruiken
Om de MySQL-database te gebruiken, kun je de app.mysqlDb eigenschap gebruiken. Deze eigenschap retourneert een DatabaseDriver object dat je kunt gebruiken voor database-operaties.
var db = app.mysqlDb;
Databasemodellen (SQL-gebaseerde tabellen)
Finch biedt een eenvoudige manier om databasemodellen voor MySQL 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 met auto-increment.
Je kunt MTable ook gebruiken om relaties tussen tabellen te definiëren, bijvoorbeeld foreign keys.
Sqler
Finch gebruikt het sqler pakket voor het genereren van SQL-queries. Je kunt sqler gebruiken om complexe queries te bouwen.
Voorbeeld
Voor meer informatie, bekijk het example project in het Finch-repository. Het voorbeeldproject toont het gebruik met MySQL.