Od „dummy data” w tablicy do bezpiecznej bazy danych. Przyspieszamy! 🚀

Mój projekt „po godzinach” rośnie i staje się coraz ciekawszy. Aplikacja we Flasku działała, ale do tej pory żyła trochę w próżni – bez możliwości trwałego zapisywania danych, bazując na dummy data w tablicach dla szybkich testów.

Przyszedł jednak czas na kluczowy i (jak się obawiałem) dość trudny krok: połączenie z bazą danych.

Chciałem to zrobić „jak należy” – bezpiecznie, wydajnie i w sposób, który jest standardem w branży.

🎯 Wyzwanie

Głównym celem było znalezienie sposobu na komunikację mojej aplikacji (napisanej we Flasku) z bazą danych.

Założenia były proste:
📌 Musi to być bezpieczne (mówimy NIE SQL injection).
📌 Chciałem, żeby rozwiązanie było… cóż, „pythonowe” i możliwie profesjonalne.

A więc standardowo… Research!

🛣️ Droga

Po szybkim researchu wybór padł na SQLAlchemy – bibliotekę, której nazwa przewijała się niemal wszędzie, gdy mowa o Pythonie i bazach danych.

Tak też trafiłem na magiczne trzy litery: ORM (Object-Relational Mapping).

To był dla mnie prawdziwy moment „wow”. 🤯 Słyszałem o tym wcześniej, ale dopiero teraz w praktyce zrozumiałem, o co w tym chodzi.

Zamiast ręcznie pisać INSERT INTO... czy SELECT * FROM..., nagle jestem w stanie zdefiniować całą strukturę bazy danych i operacje na niej, używając… zwykłych klas Pythona!

Model użytkownika w bazie? – klasa User w moim kodzie.

Nowy użytkownik? Tworzę obiekt tej klasy i dodaję go do „sesji”.

Resztą magii – czyli przetłumaczeniem tego na bezpieczne zapytania SQL – zajmuje się SQLAlchemy…

✅ Wynik

Po kilku kolejnych wieczorach spędzonych na czytaniu pisaniu, kopaniu i testowaniu:

🎯Aplikacja w końcu potrafi trwale zapisywać i odczytywać dane.
🎯Kod jest niesamowicie czysty, bo cała logika bazy danych jest pięknie zamknięta w modelach.

A co najlepsze, na potrzeby testów lokalnych łączę się z prostą bazą SQLite, a na serwerze docelowym mogę przełączyć się na produkcyjnego PostgreSQLa, zmieniając dosłownie jedną linijkę w konfiguracji!  – I pomyśleć, że jeszcze w ostatnim projekcie sam pisałem własną mini-abstrakcję, żeby móc się tak łatwo przełączać… a tutaj dostaję to „w pakiecie” i zrobione jak należy!

Co najważniejsze, zrozumiałem w praktyce, jak działa ORM. To potężne narzędzie, które nie tylko upraszcza pracę, ale przede wszystkim dba o bezpieczeństwo i optymalizację „za kulisami”.

To niesamowite, jak jeden „klocek” potrafi tak bardzo podnieść jakość i architekturę całego projektu. Kolejna potężna technologia ląduje w moim plecaku! 💪

Działam dalej!

A Wy? Pamiętacie swoje pierwsze zderzenie z ORM-ami (czy to w SQLAlchemy, Django, czy czymś innym)? Też mieliście ten moment „wow”?

Podzielcie się w komentarzach! 👇😉

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola oznaczone są *

*
*