https://github.com/dwarry/sql2gv
Console and WPF apps for generating ER diagrams from a SQL Server database, using Graphviz.
https://github.com/dwarry/sql2gv
Last synced: about 1 year ago
JSON representation
Console and WPF apps for generating ER diagrams from a SQL Server database, using Graphviz.
- Host: GitHub
- URL: https://github.com/dwarry/sql2gv
- Owner: dwarry
- License: other
- Created: 2012-10-10T20:51:56.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2019-06-05T09:57:59.000Z (about 7 years ago)
- Last Synced: 2025-01-24T11:28:51.040Z (over 1 year ago)
- Language: F#
- Size: 7.62 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.markdown
- License: LICENSE
Awesome Lists containing this project
README
#Sql2gv
Many years ago, I wrote a C# library that represented the structure of a
SQL Server database, and used that to generate a [GraphViz](http://graphviz.org)
file that could be used to generate an ER diagram. This was borne out of
frustration with the fact that the diagram tool in Sql Server Management
Studio had many of the bugs that plagued the version in Access 97, and
I found it so utterly frustrating to use!.
I figured this would be a useful first project for having a play with F#. So here it is!
##Projects
###Sql2gv.Common
This contains the metadata-model and the associated logic to build this from
a connection to a SQL Server database.
###Sql2gv
A command-line interface that allows you to generate graphviz files.
###Sql2gv.Ui
A WPF front-end to Sql2gv.Common. Uses CaliburnMicro as the MVVM application framework.
It renders the diagram on the fly so you can see what's going on - it needs GraphViz
to be installed for this; the path needs to be set in the config file's `PathToGraphViz`
app setting. This should identify the bin folder in the graphviz directory.
It also allows you to launch GvEdit to play with the generated graphviz file directly
if you need more control.
##Acknowledgments
* Icons
Icons are from [The Noun Project](http://thenounproject.com). "Waiting Room", "Table" and
"Clipboard" are public domain, but "Database", "Document" and "Pen" are by
[Dmitri Baranovskiy](http://thenounproject.com/DmitryBaranovskiy/) and "Network" is by
[Stijn Janmaat](http://thenounproject.com/stijnjanmaat). The SVG icons were converted to
XAML by [Inkscape](http://inkscape.org).
* [Caliburn.Micro](http://caliburnmicro.codeplex.com)
Caliburn.Micro is a great Model-View-ViewModel application
framework which greatly simplifies data binding and commanding through an extensible
set of conventions. Licensed under the [MIT licence](http://caliburnmicro.codeplex.com/license).
* [Extended WPF Toolkit](http://wpftoolkit.codeplex.com/)
Various controls from the Extended WPF Toolkit were used,
including the BusyIndicator, WatermarkTextBox and the Zoombox.
Licenced under the [MS Public License](http://wpftoolkit.codeplex.com/license).