# SQLite-ის გამართვა Laravel-ის აპლიკაციაში

![](https://392590438-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrgmjFj4NNSsoaQmAk09Z%2Fuploads%2FvrIReIOelIS7OI6Y4JS8%2Fimage.png?alt=media\&token=3b034ae8-10ee-4c4f-b929-924eb98ad1c0)

## რა არის SQLite? <a href="#id-92ec" id="id-92ec"></a>

SQLite არის SQL მონაცემთა ბაზის სისტემების ერთ-ერთი წარმომადგენელი, რომელიც გამოირჩევა სიმარტივითა და სისწრაფით.

SQLite საშუალო პროექტებისთვის საკმაოდ კარგი არჩევანია. იგი არის პატარა, მოხერხებული, სწრაფი და უმარტივესად შეგვიძლია გავმართოთ ჩვენს აპლიაკციაში.

SQLite არ წარმოადგენს Client/Server RDBMS-ს(Relational Database Management System), იგი ჩაშენებულია ჩვენს აპლიკაციაში და აპლიკაციის პროცესშივე(process) ხდება მონაცემთა წამოღება/ჩაწერა/ცვლილება. Client/Server RDBMS-ებში კი ჩვენი აპლიკაცია ცალკე პროცესს წარმოადგენს და მონაცემთა ბაზა კიდევ ცალკე პროცესია, რაც ნიშნავს იმას, რომ მონაცემთა ბაზასთან ურთიერთობა არის კომპიუტერის პროცესებს შორის საუბარი/ინტერკომუნიკაცია. პროცესებს შორის საუბარი კი დამატებით დაყოვნებას და უფრო დიდ რესურს მოიცავს, შესაბამისად ამის ხარჯზე SQLite უფრო ეფექტურია.

SQLite-ს ნაკლიც აქვს, თუ კი მონაცემთა ბაზაში ჩაწერების ტრაფიკი დიდია ამ შემთხვევაში ბაზა ნელდება, რადგანაც მომენტში SQLite-ს მხოლოდ ერთი ჩანაწერის გაკეთება შეუძლია, მაკრამ მონაცემთა ბაზიდან ინფორმაციის წამოღება ნაკადებზე შესაძლოა გადანაწილდეს, შესაბამისად დიდად მნიშვნელოვანია ბაზის შერჩევისას გავითვალისწინოთ რა და როგორ დატვირთვას შეიძლება ველოდოთ.

\
პრერეკვიზიტები Larvel-ში SQLite-ის ინტეგრაციისთვის(Ubuntu, WSL)

იმისათვის, რომ გამოვიყენოთ SQLite, საჭიროა შესაბამისი პროგრამა დავაინსტალიროთ:

```
sudo apt install sqlite3
```

ასევე საჭიროა PHP-ის ექსთენშენის დაინსტალირებაც, რომ PHP-ს შეეძლოს SQLite-ის მონაცემთა ბაზასთან კომუნიკაცია:

```
sudo apt install php-sqlite3
```

## SQLite-ის კონფიგურაცია Laravel-ში <a href="#be85" id="be85"></a>

Laravel Eloquent-ის ერთ-ერთ დრაივერს SQLite წარმოადგენს, შესაბამისად SQLite-ის გამართვა უბრალოდ *.env* ფაილის ცვლილებას ნიშნავს.

სტანდარტულად მონაცემთა ბაზის კონფიგურაცია *.env* ში ასე გამოიყურება:

![](https://392590438-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrgmjFj4NNSsoaQmAk09Z%2Fuploads%2F6tguz7TPJxkMGIGd4wrc%2Fimage.png?alt=media\&token=da6ac26c-8055-4276-95df-3398af03b4aa)

აქედან მხოლოდ *DB\_CONNECTION*-ი გვჭირდება, ხოლო დანარჩენები შეგვიძლია წავშალოთ, რადგანაც SQLite-ს არ სჭირდება ბაზის სახელი, მომხმარებელი და პაროლი, რადგანაც SQLite-ში ერთი ფაილი-ერთი ბაზაა, მომხმარებლები და პრივილეგიები კი არ არსებობენ.

გავუწეროთ *DB\_CONNECTION*-ს *sqlite* მნიშვნელობა და დანარჩენი ბაზის პარამეტრები წავშალოთ *.env*-დან:

![](https://392590438-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrgmjFj4NNSsoaQmAk09Z%2Fuploads%2F2M56pD20x0oYohGuUtdW%2Fimage.png?alt=media\&token=2247490c-ebf0-43ad-997f-a0ebb131b3f7)

ამასთანავე გვჭირდება, რომ ცარიელი ფაილი შევქმნათ *database* ფოლდერში სახელით *database.sqlite,* რადგანაც სტანდარტულად ლარაველი ამ მისამართზე ეძებს SQLite-ის ფაილს:

![](https://392590438-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrgmjFj4NNSsoaQmAk09Z%2Fuploads%2FdPk1xTbdryshaxrpiR9G%2Fimage.png?alt=media\&token=c4e13366-40cc-45ac-972a-bc9ca710e951)

თუ გვსურს, რომ სხვა მისამართზე გვქონდეს SQLite-ის მონაცემთა ბაზა(ფაილი), მაშინ *config/database.php*-ში უნდა მივუთითოთ სასურველი მისამართი და ფაილის სახელი:

![](https://392590438-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrgmjFj4NNSsoaQmAk09Z%2Fuploads%2FEsXToj6ONw2KxqAmq7i3%2Fimage.png?alt=media\&token=a1cbf118-ac90-4916-8465-4d35998d929e)

სულ ეს არის, \
Happy Quering 📕
