All Projects → Alexis-benoist → Eralchemy

Alexis-benoist / Eralchemy

Licence: apache-2.0
Entity Relation Diagrams generation tool

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Eralchemy

Qb
The database toolkit for go
Stars: ✭ 524 (-31.68%)
Mutual labels:  sql, sqlalchemy, database, mysql, postgresql
Postguard
🐛 Statically validate Postgres SQL queries in JS / TS code and derive schemas.
Stars: ✭ 104 (-86.44%)
Mutual labels:  schema, sql, database, postgresql
Db Dumper
Dump the contents of a database
Stars: ✭ 744 (-3%)
Mutual labels:  sql, database, mysql, postgresql
Rel
💎 Modern Database Access Layer for Golang - Testable, Extendable and Crafted Into a Clean and Elegant API
Stars: ✭ 317 (-58.67%)
Mutual labels:  sql, database, mysql, postgresql
Sqlfiddle3
New version based on vert.x and docker
Stars: ✭ 242 (-68.45%)
Mutual labels:  sql, database, mysql, postgresql
Squid
🦑 Provides SQL tagged template strings and schema definition functions.
Stars: ✭ 57 (-92.57%)
Mutual labels:  schema, sql, database, postgresql
E Commerce Db
Database schema for e-commerce (webstores) sites.
Stars: ✭ 245 (-68.06%)
Mutual labels:  schema, sql, mysql, postgresql
Nut
Advanced, Powerful and easy to use ORM for Qt
Stars: ✭ 181 (-76.4%)
Mutual labels:  sql, database, mysql, postgresql
Dbeaver
Free universal database tool and SQL client
Stars: ✭ 23,752 (+2996.74%)
Mutual labels:  sql, database, mysql, postgresql
Franchise
🍟 a notebook sql client. what you get when have a lot of sequels.
Stars: ✭ 3,823 (+398.44%)
Mutual labels:  sql, database, mysql, postgresql
Jooq
jOOQ is the best way to write SQL in Java
Stars: ✭ 4,695 (+512.13%)
Mutual labels:  sql, database, mysql, postgresql
Scany
Library for scanning data from a database into Go structs and more
Stars: ✭ 228 (-70.27%)
Mutual labels:  sql, database, mysql, postgresql
Db
Data access layer for PostgreSQL, CockroachDB, MySQL, SQLite and MongoDB with ORM-like features.
Stars: ✭ 2,832 (+269.23%)
Mutual labels:  sql, database, mysql, postgresql
Beekeeper Studio
Modern and easy to use SQL client for MySQL, Postgres, SQLite, SQL Server, and more. Linux, MacOS, and Windows.
Stars: ✭ 8,053 (+949.93%)
Mutual labels:  sql, database, mysql, postgresql
Shardingsphere
Build criterion and ecosystem above multi-model databases
Stars: ✭ 14,989 (+1854.24%)
Mutual labels:  sql, database, mysql, postgresql
Goose
A database migration tool. Supports SQL migrations and Go functions.
Stars: ✭ 2,112 (+175.36%)
Mutual labels:  schema, sql, database, mysql
Sqlcheck
Automatically identify anti-patterns in SQL queries
Stars: ✭ 2,062 (+168.84%)
Mutual labels:  sql, database, mysql, postgresql
Linq2db
Linq to database provider.
Stars: ✭ 2,211 (+188.27%)
Mutual labels:  sql, database, mysql, postgresql
Jet
Type safe SQL builder with code generation and automatic query result data mapping
Stars: ✭ 373 (-51.37%)
Mutual labels:  sql, database, mysql, postgresql
Evolve
Database migration tool for .NET and .NET Core projects. Inspired by Flyway.
Stars: ✭ 477 (-37.81%)
Mutual labels:  sql, database, mysql, postgresql

Entity relation diagrams generator

Join the chat at https://gitter.im/Alexis-benoist/eralchemy

ERAlchemy generates Entity Relation (ER) diagram (like the one below) from databases or from SQLAlchemy models.

Example

Example for a graph

Example for NewsMeme

Quick Start

Install on a mac

The simplest way to install eralchemy on OSX is by using Homebrew

$ brew install eralchemy

Install

To install ERAlchemy, just do:

$ pip install eralchemy

ERAlchemy requires GraphViz to generate the graphs and Python. Both are available for Windows, Mac and Linux.

Usage from Command Line

From a database

$ eralchemy -i sqlite:///relative/path/to/db.db -o erd_from_sqlite.pdf

The database is specified as a SQLAlchemy database url.

From a markdown file.

$ curl 'https://raw.githubusercontent.com/Alexis-benoist/eralchemy/master/example/newsmeme.er' > markdown_file.er
$ eralchemy -i 'markdown_file.er' -o erd_from_markdown_file.pdf

From a Postgresql DB to a markdown file excluding tables named temp and audit

$ eralchemy -i 'postgresql+psycopg2://username:[email protected]:5432/databasename' -o filtered.er --exclude-tables temp audit

From a Postgresql DB to a markdown file excluding columns named created_at and updated_at from all tables

$ eralchemy -i 'postgresql+psycopg2://username:[email protected]:5432/databasename' -o filtered.er --exclude-columns created_at updated_at

From a Postgresql DB to a markdown file for the schema schema

$ eralchemy -i 'postgresql+psycopg2://username:[email protected]:5432/databasename' -s schema

Usage from Python

from eralchemy import render_er
## Draw from SQLAlchemy base
render_er(Base, 'erd_from_sqlalchemy.png')

## Draw from database
render_er("sqlite:///relative/path/to/db.db", 'erd_from_sqlite.png')

Architecture

Architecture schema

Thanks to it's modular architecture, it can be connected to other ORMs/ODMs/OGMs/O*Ms.

Contribute

Every feedback is welcome on the GitHub issues.

To run the tests, use : $ py.test. Some tests require a local postgres database with a schema named test in a database named test all owned by a user named postgres with a password of postgres.

All tested PR are welcome.

Notes

ERAlchemy was inspired by erd, though it is able to render the ER diagram directly from the database and not just only from the ER markup language.

Released under an Apache License 2.0

Creator: Alexis Benoist Alexis_Benoist

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].