A bit surprised to see there is no mention of Liquibase, Flyway or others. Not to mention there is also "https://www.dolthub.com/". This was just for git.
I work for the company that owns/developers Flyway, so I didn't include it in here.
However, for DBAs, they often are doing ad hoc stuff and there is a bit of overhead for FW/LB that they may not want. This is part of a series, just getting people comfortable with tracking their work.
Nah, data engineers tend to specialize in moving data from point A to point B.
DBAs tend to specialize in managing data in point A or point B.
Some people cultivate aspects of both skillsets of course and data engineers often end up doing DBA functions in point B (where analytical data is stored) while DBAs manage point A (OLTP source systems)
I always impresses me, how many don't understand how to manage their SQL scripts, packages and stored procedures in SCM systems, when this was already a common product from SQL vendors in the 1990's.
Generally the word DBA has a pretty broad meaning - and one of them is that you were a click admin that got hoisted into being responsible for your database servers, and things like software engineering tools (git, shell scripting in general) are a few years off.
The number of databases I have seen out of source control is too many to count, the number of times I had people who understood SQL very well but couldn't use git worth a damn.
Some of them have been modifying the top of the file of a stored procedure for decades
2024-01-01 hobs - changed even more shit
2023-07-24 hobs - minor tweaks
2001-02-04 hobs - created
I am reasonably confident that Oracle keeps its code under source control, but the PL/SQL packages it supplied start with a lot of this. The package WWV_FLOW, central to the APEX/ORDS product has more than 500 lines like
-- MODIFIED (MM/DD/YYYY)
-- mhichwa 08/04/1999 - Created
-- mhichwa 09/30/1999 - Removed g_show_reset global
-- mhichwa 10/09/1999 - Added g_last_query_text global for error reporting
-- mhichwa 10/09/1999 - Removed g_success_procedure, g_success_url
-- mhichwa 10/09/1999 - Removed g_step_sub_title_font_color --
-- mhichwa 10/14/1999 - Added 10 extra inputs v26 ... v35
Not really, at least not in Windows. There are no cross-application macros in Windows, just intra-application ones, and that only for some applications.
It is a little better on MacOS with AppleScript, which can be used to bind different applications together. But not all of them, and it is far from ideal.
In the end, nothing of this is command-line equivalent.
Btw, if you want to see a GUI application that can do really really good macros, learn Blender! E.g. you can bind any button and knob to keyframes to change them in animations. That would be the level of macro-integration required to be CLI-like...
It's a very old way to use git, too. There's a CLI client for windows which doesn't require the old git bash program or mingw. You can install it via widget, scoop, or chocolatey and run it in windows terminal