I'm kind of curious why there are 3 similar comman...
# best-practices
h
I'm kind of curious why there are 3 similar commands:
run
,
el
and
elt
. It seems el & elt allow
--select
and
--exclude
to be specified where
run
does not. I saw that
elt
was being deprecated in favour of
el
and the cli docs for el mention the following:
Copy code
The command meltano run is the recommended way to run cross-plugin workflows in a composable manner.
Are we moving towards having just 1 command, or does it make sense to keep both
run
&
el
. I'd love to understand when to prefer
run
over
el
& vice versa.
j
As I understand it the
el
is happening as part of the
run
.
meltano run
creates a run with an ID and some status about how it went etc. in Meltano's own database. I don't think
el
does that..
e
I think it still makes sense to keep both
run
&
el
. The latter like you mentioned supports
--select
and
--exclude
and we don't have plans for adding them to
run
.
h
Thanks for the response Edgar, I guess I'm still struggling to understand when one should use`run` if all of its functionality (+ some more) can be achieved via
el
j
When you want to track the results. Suppose you want to run the same
el
command at a certain interval, then using the
run
API that becomes a "thing" with metadata like "when did the run start/end", "were there any problems" etc.
So
run
is for "production" so to speak.
el
is for trying stuff out, doing one-offs, etc.. Stuff that you do by hand, essentially
e
@haleemur_ali Well, al least three reasons: 1.
run
has a different implementation and works on Windows, if that's important to you 2.
run
can run mappers, e.g.
meltano run extractor mapping loader
3.
run
can also run more complex commands: https://docs.meltano.com/reference/command-line-interface/#run