CodeBlanks Logo Icon CodeBlanks

ORM

drift ORM ile Dart veritabanı öğrenirsin.

drift ORM

drift, Dart için reaktif bir ORM'dir (object-relational mapper). sqflite üzerine inşa edilmiştir. Tabloları Dart sınıflarıyla tanımlarsın; drift tip güvenli sorgular ve kod üretimi sunar. Ham SQL yazmak yerine Dart API'si kullanırsın.

Bir tablo class Notes extends Table { TextColumn get title => text()(); } biçiminde tanımlanır. Table temel sınıftır; TextColumn metin sütunu, text()() sütun üreten yardımcıdır. Bu derste drift tablo tanımını öğreneceğiz.

Tablo tanımı

drift'te bir tablo, Table sınıfından türeyen bir Dart sınıfıdır. Her sütun bir getter'dır: TextColumn get title => text()(); bir metin sütunu, IntColumn get id => integer().autoIncrement()(); bir otomatik artan tamsayı sütunu.

Bu tanımdan drift, kod üretimiyle tip güvenli sorgu yöntemleri üretir. Sen db.select(notes).get() gibi çağrılarla sorgu yaparsın; SQL yazmazsın. Bu derste Notes tablosunu tanımlayacağız.

Uygulama Notes tablosunu tanımla

import 'package:drift/drift.dart'; ekle. class Notes extends Table { ... } tanımla: içinde TextColumn get title => text()(); olsun. main içinde print('drift: Notes tablosu') ve print('Sütun: title (text)') ekle.

Başlangıç kodu

main.dart
// drift paketini içe aktar
// Notes tablosunu tanımla (Table sınıfı, title text sütunu)

void main() {
  // drift tablo bilgisini yazdır
}

Örnek çözüm

main.dart
import 'package:drift/drift.dart';

class Notes extends Table {
  TextColumn get title => text()();
}

void main() {
  print('drift: Notes tablosu');
  print('Sütun: title (text)');
}

Beklenen çıktı

drift: Notes tablosu
Sütun: title (text)

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 drift importu

Soru
import 'package:____/drift/drift.dart';
Cevap
import 'package:drift/drift/drift.dart';

Açıklama: drift paketi package:drift/drift.dart ile içe aktarılır.

2 drift parçalarını eşleştir

Kavram Anlamı
drift Reaktif ORM
Table Tablo sınıfı
TextColumn Metin sütunu
text()() Sütun üretir

3 drift neyi sağlar?

  • Web sunucusu
  • HTTP istemcisi
  • Tip güvenli ORM Doğru cevap
  • Dosya sıkıştırma

Açıklama: drift tip güvenli ORM sağlar.

İleri seviye bölümündeki tüm dersler