ember-data-erd
Small library to generate entity relationship models using the Ember data
models of the app as source.
This project is inspired in rails-erd
(https://github.com/voormedia/rails-erd).
But needs more work to get to that point and support new Ember applications.
Installation
ember install ember-data-erd
Compatibility
The library has basic supports for the following ways to define models:
export default Model.extend({
name: attr()
}
import Model, { attr, hasMany } from '@ember-data/model';
export default class ClientModel extends Model {
@attr name;
@hasMany pets;
}
import Model, { attr, hasMany } from '@ember-data/model';
export default class ClientModel extends Model {
@attr name;
@hasMany('pet') pets;
}
import Model, { attr, hasMany } from '@ember-data/model';
export default class ClientModel extends Model {
@attr name;
@hasMany('pet')
pets;
}
This is still in a very early stage, so, errors parsing the source code might
happen. If you find one, please report it as an issue in the repo.
Thanks!
Usage
Run the following command in the root of the project.
ember erd:generate
By default the library is going to generate a PNG image in a diagrams
folder. If the diagrams folder is not created, it will be created in the
root folder of the project.
In order to modify the behaviour of the library it is possible to use a
configuration file. The configuration file should be called:
.ember-data-erd.js
Create the file and put it in the root directory of the project.
The supported options are:
Example config file:
module.exports = {
include: [
'board',
'organisation',
'link',
'reward',
'user',
'userGroup'
],
outputFormat: 'pdf',
graphviz: {
concentrate: false
}
}
Contributing
See the Contributing guide for details.
License
This project is licensed under the MIT License.