Open totten opened 10 months ago
Related, or actually probably the same thing: https://github.com/civicrm/cv/issues/72
Right as usual @demeritcowboy. The first issue says, "I'm hungry"; and the second issue says, "Get a slice of pizza".
ššŗ š
Background: In several commands (
api3
,api4
,setting:set
), there are two kinds of options:--level
,--out
,-T
,--user
,--cwd
,--hostname
influence the way thatcv
works. The naming / formatting / behavior of the options are primarily driven bycv
.+s field_1,field2
influence the data thatcv
passes through tocivicrm
.The naming / formatting / behavior are primarily driven by CiviCRM's model. The convention here is tuned for "adding data to a request-document". If you need to get really detailed, it allows JSON.Problem: The
core:install
command has a mix of control options and data model options. But the data-model options don't follow the+
convention; they miss a bunch of edge-cases; and they don't allow JSON. The same is true ofcore:check-req
andcore:uninstall
.Example: Currently, you can use
cv path -m X=Y
, but there's no way to set a value for$setup->model['paths']['civicrm.files']
.Idea: In the same vein as
SettingArgParser
orApi4ArgParser
, add aSetupModelParser
to allow more inputs. Follow the same+
conventions as the other commands.