Hızlı Başlangıç

Vay canına, buradasınız! Hadi en havalı Flutter veritabanını kullanmaya başlayalım...

Bu hızlı başlangıçta az konuşup çok kod yazacağız.

1. Bağımlılıkları Ekleyin

Eğlence başlamadan önce, pubspec.yaml dosyasına birkaç paket eklememiz gerekiyor. Ağır işleri pub'ın yapmasına izin verebiliriz.

flutter pub add isar isar_plus_flutter_libs
flutter pub add -d isar_generator build_runner

2. Sınıfları İşaretleyin

Koleksiyon sınıflarınızı @collection ile işaretleyin ve bir Id alanı seçin.

part 'user.g.dart';

@collection
class User {
  Id id = Isar.autoIncrement; // otomatik artış için id = null de kullanabilirsiniz

  String? name;

  int? age;
}

Id'ler, bir koleksiyondaki nesneleri benzersiz şekilde tanımlar ve daha sonra tekrar bulmanıza olanak tanır.

3. Kod Üreticiyi Çalıştırın

build_runner'ı başlatmak için aşağıdaki komutu çalıştırın:

dart run build_runner build

Flutter kullanıyorsanız, aşağıdakini kullanın:

flutter pub run build_runner build

4. Isar Örneğini Açın

Yeni bir Isar örneği açın ve tüm koleksiyon şemalarınızı iletin. İsteğe bağlı olarak bir örnek adı ve dizin belirtebilirsiniz.

final dir = await getApplicationDocumentsDirectory();
final isar = await Isar.open(
  [UserSchema],
  directory: dir.path,
);

Flutter web

  • Uygulamanızın web/ dizinine isar.wasm ve isar.js ekleyin. Bunları en son sürümden indirebilir veya ./tool/prepare_local_dev.sh --targets wasm ile yeniden oluşturabilirsiniz.

  • Wasm çalışma zamanı ve kalıcılık arka ucunun hazır olması için ilk örneğinizi açmadan önce await Isar.initialize(); çağrısını yapın.

  • SQLite motorunu kalıcı bir klasör adıyla kullanın, örneğin:

    final isar = await Isar.open(
      [UserSchema],
      engine: IsarEngine.sqlite,
      directory: 'isar_data',
    );
    

5. Yazma ve Okuma

Örneğiniz açıldığında, koleksiyonları kullanmaya başlayabilirsiniz.

Tüm temel CRUD işlemleri IsarCollection aracılığıyla kullanılabilir.

final newUser = User()..name = 'Jane Doe'..age = 36;

await isar.writeAsync((isar) async {
  await isar.users.put(newUser); // ekleme ve güncelleme
});

final existingUser = await isar.users.get(newUser.id); // alma

await isar.writeAsync((isar) async {
  await isar.users.delete(existingUser.id!); // silme
});

Diğer Kaynaklar

Görsel bir öğrenci misiniz? Isar'a başlamak için bu videoları izleyin: