Files
ROC/persistence/implementation/sqlite/scripts/create_database.sql
jvelilla 4227b82c7e Added a common database backend implementation.
Added sqlite (proof of concept)
2014-09-17 10:33:37 -03:00

62 lines
2.1 KiB
PL/PgSQL

-- Creator: MySQL Workbench 6.1.7/ExportSQLite plugin 2009.12.02
-- Author: javier
-- Caption: New Model
-- Project: Name of the project
-- Changed: 2014-09-16 23:12
-- Created: 2014-09-16 23:12
PRAGMA foreign_keys = OFF;
-- Schema: cms_dev
BEGIN;
CREATE TABLE "nodes"(
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL CHECK("id">=0),
"publication_date" DATE NOT NULL,
"creation_date" DATE NOT NULL,
"modification_date" DATE NOT NULL,
"title" VARCHAR(255) NOT NULL,
"summary" TEXT NOT NULL,
"content" MEDIUMTEXT NOT NULL
);
CREATE TABLE "roles"(
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL CHECK("id">=0),
"role" VARCHAR(100) NOT NULL,
CONSTRAINT "role"
UNIQUE("role")
);
CREATE TABLE "users"(
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL CHECK("id">=0),
"username" VARCHAR(100) NOT NULL,
"password" VARCHAR(100) NOT NULL,
"salt" VARCHAR(100) NOT NULL,
"email" VARCHAR(250) NOT NULL,
CONSTRAINT "username"
UNIQUE("username")
);
CREATE TABLE "users_nodes"(
"users_id" INTEGER NOT NULL CHECK("users_id">=0),
"nodes_id" INTEGER NOT NULL CHECK("nodes_id">=0),
PRIMARY KEY("users_id","nodes_id"),
CONSTRAINT "fk_users_has_nodes_nodes1"
FOREIGN KEY("nodes_id")
REFERENCES "nodes"("id"),
CONSTRAINT "fk_users_has_nodes_users"
FOREIGN KEY("users_id")
REFERENCES "users"("id")
);
CREATE INDEX "users_nodes.fk_users_has_nodes_nodes1_idx" ON "users_nodes"("nodes_id");
CREATE INDEX "users_nodes.fk_users_has_nodes_users_idx" ON "users_nodes"("users_id");
CREATE TABLE "users_roles"(
"users_id" INTEGER NOT NULL CHECK("users_id">=0),
"roles_id" INTEGER NOT NULL CHECK("roles_id">=0),
PRIMARY KEY("users_id","roles_id"),
CONSTRAINT "fk_users_has_roles_roles1"
FOREIGN KEY("roles_id")
REFERENCES "roles"("id"),
CONSTRAINT "fk_users_has_roles_users1"
FOREIGN KEY("users_id")
REFERENCES "users"("id")
);
CREATE INDEX "users_roles.fk_users_has_roles_roles1_idx" ON "users_roles"("roles_id");
CREATE INDEX "users_roles.fk_users_has_roles_users1_idx" ON "users_roles"("users_id");
COMMIT;