Introduction
Py-SQL-cleaner est un outil en ligne de commande conçu pour trouver, formater et extraire les requêtes SQL intégrées dans les fichiers Python. Il est particulièrement utile pour les bases de code Python où des requêtes SQL longues sont écrites directement à l'intérieur de chaînes Python entre guillemets triples.
Contexte Technique
Py-SQL-cleaner utilise SQLGlot pour la mise en forme des requêtes SQL. Il prend en charge les dialectes génériques et spécifiques à certaines bases de données, comme Redshift, MySQL et Postgres. L'outil peut formater les requêtes SQL en place ou les extraire dans des fichiers externes .sql.
Par exemple, étant donné une requête SQL comme suit : query = """select user_id, updated_at from users qualify row_number() over(partition by user_id order by updated_at desc)=1""", py-sql-cleaner peut la formater pour améliorer sa lisibilité.
Analyse et Implications
L'utilisation de py-sql-cleaner peut améliorer la maintenabilité et la lisibilité du code Python en gardant les requêtes SQL bien formatées et séparées du code logique. Cependant, il est important de noter que l'outil est conservatif par défaut et évite de modifier les blocs de code qui pourraient être modifiés à l'exécution, tels que les f-strings ou les requêtes paramétrées.
Perspective
À l'avenir, il serait intéressant de voir py-sql-cleaner évoluer pour prendre en charge davantage de dialectes de bases de données et améliorer sa capacité à détecter et à gérer les requêtes SQL complexes. De plus, l'intégration de py-sql-cleaner avec d'autres outils de développement pour améliorer l'expérience de développement et la qualité du code serait bénéfique.