StarUML 2 Extension for DDL Generation
Switch branches/tags
Nothing to show
Clone or download
Latest commit a70756c May 23, 2018
Permalink
Failed to load latest commit information.
menus Updates for v3 APIs May 14, 2018
preferences Updates for v3 APIs May 14, 2018
.gitignore first commit May 2, 2016
LICENSE Initial commit May 2, 2016
README.md Updates for v3 APIs May 14, 2018
codegen-utils.js Updates for v3 APIs May 14, 2018
ddl-generator.js Remove lodash May 24, 2018
main.js Updates for v3 APIs May 14, 2018
package.json Updates for v3 APIs May 14, 2018

README.md

DDL Extension for StarUML

This extension for StarUML (http://staruml.io) support to generate DDL (Data Definition Language) from ERD. Install this extension from Extension Manager of StarUML.

How to use

  1. Click the menu (Tools > DDL > Generate DDL...)
  2. Select a data model that will be generated to DDL.
  3. Save the generated DDL to a file.

Generation rules

Belows are the rules to convert from ERD elements to DDL.

  • All entities and columns are converted to create table statements as follow:
CREATE TABLE entity1 (
    col1 INTEGER,
    col2 VARCHAR(20),
    ...
);
  • Primary keys are converted as follow:
CREATE TABLE entity1 (
    pk1 INTEGER,
    pk2 VARCHAR(10),
    ...
    PRIMARY KEY (pk1, pk2, ...)
);
  • Not-nullable columns are converted as follow:
CREATE TABLE entity1 (
    col1 VARCHAR(20) NOT NULL,
    ...
);
  • Unique columns are converted as follow:
CREATE TABLE entity1 (
    ...
    UNIQUE (col1, col2, ...)
);
  • Foreign keys are converted as follow:
CREATE TABLE entity1 (
    fk1 INTEGER,
    ...
);
...

ALTER TABLE entity1 ADD FOREIGN KEY (fk1) REFERENCES entity2(col1);
  • If Quote Identifiers option is selected, all identifiers will be surrounded by a backquote character.
CREATE TABLE `entity1` (
    `col1` INTEGER,
    `col2` VARCHAR(20),
    ...
);
  • If Drop Tables option is selected, drop table statements will be included.

(MySQL selected in DBMS option)

SET FOREIGN_KEY_CHECKS = 0;
DROP TABLE IF EXISTS entity1;
...
SET FOREIGN_KEY_CHECKS = 1;

CREATE TABLE entity1 (...);
...

(Oracle selected in DBMS option)

DROP TABLE entity1 CASCADE CONSTRAINTS;`
...

CREATE TABLE entity1 (...);
...

Contributions

Any contributions are welcome. If you find a bug or have a suggestion, please post as an issue.