sqfliteを使用するために必要なパッケージ
pubspec.yml
dependencies:
flutter:
sdk: flutter
sqflite: ^2.0.0+3 // 追加
path_provider: ^2.0.1 // 追加
追加できたら「Pub get」でインストールする
データベースの作成
lib/repositories/database_connection.dart
import 'package:path_provider/path_provider.dart';
import 'package:path/path.dart';
import 'package:sqflite/sqflite.dart';
class DatabaseConnection {
setDatabase() async {
var directory = await getApplicationDocumentsDirectory();
var path = join(directory.path, 'データベース名');
await deleteDatabase(path);
var database = await openDatabase(path,
version: 1, onCreate: _onCreatingDatabase, onConfigure: _onConfigure);
return database;
}
_onCreatingDatabase(Database database, int version) async {
await database.execute('データ作成のSQL');
// 例
await db.execute(
'CREATE TABLE Test (id INTEGER PRIMARY KEY, name TEXT, value INTEGER, num REAL)');
}
}
DatabaseConnection().setDatabase()でデータベースを作成できます。
データベースの削除
もしデータベースのSQLを間違えて記述してしまった場合は deleteDatabase(データベースへのパス)でデータベースを削除できます。
setDatabase() async {
var directory = await getApplicationDocumentsDirectory();
var path = join(directory.path, 'db_quick_note');
await deleteDatabase(path); // データベースの削除
var database = await openDatabase(path,
version: 1, onCreate: _onCreatingDatabase, onConfigure: _onConfigure);
return database;
}
上記のようにコードを記述しデータベースを削除してもう一度作成し直すことができます。
Pub.dev sqflite: https://pub.dev/packages/sqflite