Flutter データベース sqlite

//シングルトンクラス
DatabaseService._privateConstructor();

static final DatabaseService instance = DatabaseService._privateConstructor();

// イニシャライズ
static Database? database;

/// データベースオブジェクトの取得
Future<Database?> get db async {
  if (database != null) {
    return database;
  }

  database = await initializeDatabase();
  return database;
}

/// データベースのイニシャライズ
initializeDatabase() async {
  // アプリケーション専用のファイルを配置するディレクトリへのパスを返す
  Directory directory = await getApplicationDocumentsDirectory();
  String path = join(directory.path, dbname);

  // データベースに接続
  return await openDatabase(path, version: dbversion, onCreate: createTable);
}

/// テーブル作成
createTable(Database db, int version) {
  db.execute('''
    CREATE TABLE $tablename(
    $columnid INTEGER PRIMARY KEY,
    $type TEXT NOT NULL,
    $data REAL NOT NULL,
    $date TEXT NOT NULL
    )
    ''');
  print("created table");
}

この記事が気に入ったらサポートをしてみませんか?