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

რა არის SQLite?

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-ში

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

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

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

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

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

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

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

Last updated