Provide the ability to set configuration values via command line
- 主要言語
- Python
- スター
- 1.4k
- フォーク
- 191
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
It would be helpful in many automation scenarios to provide a `--c` / `--config` `name=value` command-line option.
In many scripting scenarios, there is the need to vary configuration values for a single invocation of `mssql-cli`. For example, one might want to create an API implemented in terms of `mssql-cli` and provide callers the ability to use arguments representing configuration values. Or one might wish to write a batch job that does some kind of extract from a database (in a particular format which differs from the default format) and sends it somewhere. Currently, the only apparent way to do this is to copy the configuration file, vary the values one wants to change, write out a new copy of the configuration file, and then use the `--mssqlclirc` option to use the new copy. In the second scenario a person could do this (although the batch file configuration would now be completely detached from the original and would not reflect subsequent changes). In the first scenario, a script can certainly do this, but it now needs a configuration file parser / writer, and the process is not nearly so intuitive as what other tools provide.
Compare this with `git`, which provides the `-c` [option](https://git-scm.com/docs/git), or Mercurial, which provides the `--config` [option](https://man7.org/linux/man-pages/man1/hg.1.html). In these cases, values provided on the command line override all other configuration sources. Tools have converged on this solution because it provides maximum flexibility to callers.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
まず、--mssqlclirc パスを含め、mssql-cli のコマンドラインオプション処理と設定の読み込み箇所を特定します。設定ソースがどのように適用されるかを追跡し、--c/--config name=value による上書きの優先順位を定義します。自動化によって、個別の設定ファイルを作成せずに 1 回の実行用の設定値を指定できれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- cli, databases
- issue の種類
- 機能追加
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100