SQLite 数据库指南
Finch 使用 sqlite3 包进行 SQLite 数据库操作。您可以使用 sqlite3 包在 Finch 应用程序中执行数据库操作。
连接到 SQLite 数据库
要连接到 SQLite 数据库,您需要将以下代码添加到 app.dart 文件中。
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}");
});
}
在上面的示例中,我们启用了 SQLite 数据库并指定了数据库文件的文件路径。您可以将文件路径更改为所需的位置。
使用 SQLite 数据库
要使用 SQLite 数据库,可以使用 app.sqliteDb 属性。此属性返回 Database 对象,您可以使用它来执行数据库操作。
var db = app.sqliteDb;
数据库模型(基于 SQL 的表)
Finch 提供了一种简单的方法来为 SQLite 数据库创建数据库模型。您可以使用 MTable 类来定义数据库表的结构。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 字段定义为最大长度为 255 个字符的 varchar。
您可以使用 MTable 类为应用程序创建表。您还可以使用 MTable 类在表之间创建关系。例如,您可以在两个表之间定义外键关系。
Sqler
Finch 使用 sqler 包来构建 SQL 查询。您可以使用 sqler 包为 SQLite 数据库构建 SQL 查询。您可以使用 sqler 包轻松构建复杂查询。