# Magic Local Storage

**Yerel bir SQLite veritabanı, Magic için hazır.**

Tek bir yerel SQLite bağlantısı üzerinde `DB` ve `Schema` facade'leri, migration, seeder, factory ve push-then-pull sync iskeleti.

## Tek bağlantı. Her model.

Magic uygulamanız, Laravel geliştiricilerine tanıdık gelecek facade, migration ve seeder'larla yerel bir SQLite veritabanına kavuşur. Listelenen hedefler: Android, iOS, macOS, Windows, Linux ve web.

### Migration ve Schema

`up` ve `down` içeren `Migration` sınıfları, `Schema` facade'i (`create`, `table`, `drop`, `dropIfExists`, `rename`) ve bunları savepoint'lerle çalıştıran bir `Migrator`.

[Daha fazla Migration ve Schema hakkında](https://anilcancakir.com/magic/docs/local_storage/basics/migrations.md)

### DB facade'i

`DB.table(name)` bir `QueryBuilder` döndürür; facade ayrıca ham SQL ve `DB.transaction` çalıştırır.

[Daha fazla DB facade'i hakkında](https://anilcancakir.com/magic/docs/local_storage/basics/queries.md)

### Yerel model depolama

`useLocal` ayarlayan bir Magic modeli yerel veritabanına yazar ve oradan okur: paket, model metotlarının arkasına bir `local_model_store` bağlar.

[Daha fazla Yerel model depolama hakkında](https://anilcancakir.com/magic/docs/local_storage/basics/models.md)

### Seeder ve factory

`Seeder` sınıfları `Seeding.run(list)` ile çalışır. `Factory<T>` sınıfları (`definition`, `count`, `create`) seed'ler ve testler için sahte satırlar üretir.

[Daha fazla Seeder ve factory hakkında](https://anilcancakir.com/magic/docs/local_storage/basics/seeding.md)

### Sync iskeleti

Push-then-pull bir iskelet: aynı bağlantıda `SyncFeed.run`, bir sync ledger ve bir cursors tablosu. Bu bir iskelettir, tamamlanmış bir sync değildir.

[Daha fazla Sync iskeleti hakkında](https://anilcancakir.com/magic/docs/local_storage/guides/sync.md)

### Tek SQLite motoru

Native hedefler `sqlite3` paketini FFI üzerinden kullanır, dosya uygulama belgeleri dizininde durur. Web, IndexedDB tabanlı dosya sisteminde `sqlite3.wasm` kullanır.

[Daha fazla Tek SQLite motoru hakkında](https://anilcancakir.com/magic/docs/local_storage/basics/configuration.md)

## Saniyeler içinde ekleyin

```bash
flutter pub add magic_local_storage
```

Ya da `pubspec.yaml` dosyasına ekleyin:

```yaml
dependencies:
  magic_local_storage: ^1.0.1
```

Ya da yapay zeka ajanınıza şu istemi verin:

```text
https://anilcancakir.com/magic/docs/local_storage/llms.txt adresini oku ve Magic Local Storage paketini bu projeye kur.
```

## Dokümanlar

### Getting Started

- [Installation](https://anilcancakir.com/magic/docs/local_storage/getting-started/installation.md)

### The Basics

- [Configuration](https://anilcancakir.com/magic/docs/local_storage/basics/configuration.md)
- [Models](https://anilcancakir.com/magic/docs/local_storage/basics/models.md)
- [Queries](https://anilcancakir.com/magic/docs/local_storage/basics/queries.md)
- [Migrations](https://anilcancakir.com/magic/docs/local_storage/basics/migrations.md)
- [Seeding](https://anilcancakir.com/magic/docs/local_storage/basics/seeding.md)

### Guides

- [Generators](https://anilcancakir.com/magic/docs/local_storage/guides/generators.md)
- [Sync](https://anilcancakir.com/magic/docs/local_storage/guides/sync.md)
- [Testing](https://anilcancakir.com/magic/docs/local_storage/guides/testing.md)
