პროგრამირების სამყაროში ერთ-ერთი გავრცელებული პრაქტიკაა SQL-ის მოთხოვნების პირდაპირ Python-ის ფაილებში, სამმაგი ბრჭყალების გამოყენებით ჩაწერა. თუმცა, ასეთი მიდგომა ხშირად იწვევს კოდის გაუგებრობას და სტრუქტურულ ქაოსს. ახალი ღია კოდის ინსტრუმენტი Py-SQL-cleaner სწორედ ამ პრობლემის გადასაჭრელად შეიქმნა.
რა არის Py-SQL-cleaner?
ეს არის ბრძანების ხაზის (CLI) ინსტრუმენტი, რომელიც Python-ის პროექტებში ჩაშენებულ SQL-ის ბლოკებს ეძებს, აფორმატებს მათ და საჭიროების შემთხვევაში, ცალკე .sql ფაილებად გარდაქმნის. ინსტრუმენტი იყენებს ცნობილ SQLGlot-ის ბიბლიოთეკას, რაც უზრუნველყოფს მოთხოვნების მაღალი ხარისხით ფორმატირებას.
მნიშვნელოვანია აღინიშნოს, რომ Py-SQL-cleaner არ უკავშირდება მონაცემთა ბაზებს და არ ასრულებს მოთხოვნებს. მისი მთავარი მიზანი კოდის წაკითხვადობის გაუმჯობესებაა. ინსტრუმენტი ამჟამად მხარს უჭერს ისეთ დიალექტებს, როგორებიცაა MySQL, PostgreSQL და Redshift.
უსაფრთხოება და კონსერვატიული მიდგომა
ინსტრუმენტის ავტორებმა გაითვალისწინეს პოტენციური რისკები. Py-SQL-cleaner ნაგულისხმევად კონსერვატიულია. ეს ნიშნავს, რომ ის ავტომატურად უგულებელყოფს ისეთ ბლოკებს, სადაც გამოყენებულია f-სტრიქონები, Jinja-ს შაბლონები ან დინამიური ფლეისჰოლდერები.
„შესრულების ლოგიკის შენარჩუნება უფრო მნიშვნელოვანია, ვიდრე ნებისმიერი SQL-ის მსგავსი ტექსტის ფორმატირება“, — ნათქვამია პროექტის დოკუმენტაციაში.
ასეთი მიდგომა იცავს დეველოპერებს იმ საფრთხისგან, რომ ავტომატურმა ცვლილებამ შესაძლოა დაარღვიოს Runtime-ში მიმდინარე პროცესები. თუ ინსტრუმენტი ვერ ცნობს ბლოკს უსაფრთხოდ, ის უბრალოდ ტოვებს მას უცვლელად.
როგორ გამოვიყენოთ?
Py-SQL-cleaner-ის ინსტალაცია შესაძლებელია PyPI-ის ან pipx-ის მეშვეობით. მომხმარებელს შეუძლია მარტივად დაათვალიეროს ჩაშენებული SQL ბლოკები, გადახედოს ფორმატირების შედეგებს ან პირდაპირ განახორციელოს ცვლილებები ფაილებში.
- სია: ბრძანება, რომელიც აჩვენებს ყველა ნაპოვნ SQL ბლოკს.
- Preview: ფუნქცია, რომელიც ფორმატირების ცვლილებებს აჩვენებს ფაილის შეცვლამდე.
- Extract: შესაძლებლობა, ჩაშენებული SQL კოდი გადაიტანოს გარე .sql ფაილებში.
პროექტი ამჟამად ადრეულ MVP (Minimum Viable Product) სტადიაშია. მისი განვითარება აქტიურად მიმდინარეობს და ის ვრცელდება MIT ლიცენზიით, რაც ნებისმიერ მსურველს აძლევს საშუალებას, წვლილი შეიტანოს მის გაუმჯობესებაში.



დისკუსია
0 კომენტარი
ჯერ კომენტარი არ არის — იყავი პირველი.