It is a simple command line tool that can be installed from NuGet. When run, it will take a C# database migration context assembly, and create an entity relationship (ER) diagram in Mermaid syntax.
You can install the siren-gen
tool via the following .NET command
dotnet tool install -g Gman.Siren
Run the command as follows:
siren-gen -a [--assemblyPath] <PATH_TO_MIGRATION_ASSEMBLY> -c [--connectionString] <DATABASE_CONNECTION_STRING> -o [--outputPath] <PATH_TO_OUTPUT_MARKDOWN_FILE> -m [--markdownAnchor] <MARKDOWN_ANCHOR>
PATH_TO_MIGRATION_ASSEMBLY
(optional, required if connection string not provided) - this will be the location of the built .NET DLL containing the database migration you wish to map to an ER diagram.DATABASE_CONNECTION_STRING
(optional, required if assembly not provided) - this can be set to the connection string of a (currently online), accessible database. Siren uses the SchemaSearch library to run compatible system information schema queries using Entity Framework; this is another potential rendering option in the absence of a migration assembly.PATH_TO_OUTPUT_MARKDOWN_FILE
(required) - this points to a file (on your local file system) where the markdown should be generated; includes the full file name. The file does not have to be a markdown (.md
) file.MARKDOWN_ANCHOR
(optional) - this is useful for updatingREADME.md
files that may be associated with your domain model (i.e. committed in a git repository). If the markdown anchor is specified, and the output file contains that markdown anchor (for example"### My Domain Model Diagram"
), then the Siren tool will only add or replace any existing diagram it finds under that anchor, and leave the rest of the document unmodified.