0.3.12-0 • Published 7 years ago
sql-schema-builder v0.3.12-0
SQL Schema Builder (alpha)
Currently only PostgreSQL supported.
Installation
npm install sql-schema-builder
Usage
var Builder = require("./index");
var Table = Builder.Table;
var Column = Builder.Column;
var ForeignKey = Builder.ForeignKey;
var Type = Builder.Type;
// build
var Group = Table("Group").add(
Column("id", Type.UUID).primaryKey(),
Column("name", Type.VARCHAR(64)).notNull()
);
var User = Table("User").add(
Column("id", Type.UUID).primaryKey(),
Column("name", Type.VARCHAR(64)).notNull(),
Column("about", Type.JSON).notNull()
.default({"info": "", "bulletPoints": []}),
Column("emails", Type.JSON).notNull()
.default([]),
Column("createdAt", Type.TIMESTAMPTZ).notNull(),
Column("modifiedAt", Type.TIMESTAMPTZ).notNull(),
Column("group", Type.UUID),
ForeignKey("group", Group, "id")
);
// stringify
console.log(Group.toSql());
console.log(User.toSql());
Will output:
CREATE TABLE "Group" (
"id" UUID PRIMARY KEY,
"name" VARCHAR(64) NOT NULL
);
CREATE TABLE "User" (
"id" UUID PRIMARY KEY,
"name" VARCHAR(64) NOT NULL,
"about" JSON NOT NULL DEFAULT '{"info":"","bulletPoints":[]}',
"emails" JSON NOT NULL DEFAULT '[]',
"createdAt" TIMESTAMP WITH TIME ZONE NOT NULL,
"modifiedAt" TIMESTAMP WITH TIME ZONE NOT NULL,
"group" UUID,
FOREIGN KEY ("group") REFERENCES "Group" ("id")
);
0.3.12-0
7 years ago
0.3.11
10 years ago
0.3.10
10 years ago
0.3.9
10 years ago
0.3.8
10 years ago
0.3.7
10 years ago
0.3.6
10 years ago
0.3.5
10 years ago
0.3.4
10 years ago
0.3.3
10 years ago
0.3.2
10 years ago
0.3.1
10 years ago
0.3.0
10 years ago
0.2.1
10 years ago
0.2.1-0
10 years ago
0.2.0
10 years ago
0.1.1
10 years ago
0.1.0
10 years ago