Somebody at work just stepped a Microsoft Dynamics "integration". The network admin is trying to recover the integration database from a snapshot. An integration maps data from external files into accounting structures: it uses a GUI, with names that make sense to accountants. And the database that holds it is an Access database with the integration details in a BLOB. I'd pay money for a tool to save these out to a textual representation we could put under source control.
Re:We Can Do Better Than SQL
by unityByFreedom on Tuesday August 11, 2020 @08:37AM
(#24119632)
There's no reason a diagram can't be in source control. You just need a tool that can convert the diagram to code and the code to a diagram. You probably also want to store the diagram's layout in textual form too so it can be converted back to the original human-created layout.
Then you can use git and optionally build custom tools like a visual diff of diagram v1 vs v2.
Re:We Can Do Better Than SQL
by tsimionescu on Tuesday August 11, 2020 @09:21AM
(#24119996)
The diff tool is the key here. Without that, there is no meaningful version control.
Re:We Can Do Better Than SQL
by unityByFreedom on Tuesday August 11, 2020 @09:59AM
(#24120293)
With a visual representation, diffing may be as easy as clicking next/previous between versions as you would images in an album. You could of course add more bells and whistles with highlighting.
Re:We Can Do Better Than SQL
by tsimionescu on Tuesday August 11, 2020 @04:23PM
(#24125539)
Sorry, I should have been more specific. When I say diffing tool, I mean one that can do what diff does - help Git do automatic merges, and help me do manual merges when auto merge finds conflicts. Two pictures side by side can do neither.
Re:We Can Do Better Than SQL
by unityByFreedom on Tuesday August 11, 2020 @07:06PM
(#24127008)
I don't see why it couldn't be built. Git merge doesn't always do all the work for you, you still need to evaluate the changes.
Either way, queries need to be composed at runtime a lot of the time, so for many uses of SQL you can't just have the queries as blobs that you prepare ahead of time in some other tool - they must be objects you can work with programmatically.