Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

FR: support environment variables in (favourite) queries

Ouverte
#163 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
30/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
python, sqlite
Domaine
cli, database

Piste de recherche

Commencez par localiser la gestion des requêtes favorites de litecli et le point d’entrée des commandes \f ; l’issue ne nomme aucun fichier source ni aucun test. Examinez comment les arguments $1/$2 existants sont substitués, puis déterminez si l’expansion de l’environnement s’applique uniquement aux requêtes favorites ou à toutes les requêtes. Le travail est considéré comme terminé lorsque la syntaxe convenue fonctionne avec les variantes de base de données illustrées sans casser les paramètres de requête existants.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

I'd love to see support for using environment variables in favourite queries, or even in all queries.

The use case is that I have several very similar databases where favourite queries all need to take a parameter to indicate what 'variant' of the database I'm currently using, or I have to copy configuration files for each database file and alter one value in each query filter.

Say, the different values are 'foo' and 'bar', and I have to either do:

favquery1 = '''select ...
    from some_table
    where parameter='$1'
    and other_paramater='$2'
'''
favquery2 = '''select ...
    from some_other_table sot inner join a_third_table att on sot.id = att.sot_id
    where sot.parameter='$1'
    and att.column_name ='$2'
'''

and then run \f favquery1 foo 42 and \f favquery2 bar 45, or I copy the configuration file multiple times and hardcode the parameter in each.

If, instead, I could use environment variables (syntax suggestion, feel free to come up with better syntax, this is based on bash):

favquery1 = '''select ...
    from some_table
    where parameter='${PARAMETER}'
    and other_paramater='$1'
'''
favquery2 = '''select ...
    from some_other_table sot inner join a_third_table att on sot.id = att.sot_id
    where sot.parameter='${PARAMETER}'
    and att.column_name ='$1'
'''

and then start each litecli instance with a different environment variable and use the exact same favourites for each database:

$ PARAMETER=foo litecli foo_database.sqlite
foo_database.sqlite> \f favquery1 42

and

$ PARAMETER=bar litecli bar_database.sqlite
bar_database.sqlite> \f favquery1 42
Langage dominant
Python
Étoiles
3.3k
Forks
95
Métriques de merge des PR
Aucune PR mergée en 30 j

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de dbcli/litecli

Toutes les issues de dbcli/litecli

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.