updated SQL scripts
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@ -3,4 +3,6 @@
|
||||
**/target/
|
||||
.classpath
|
||||
.project
|
||||
**/nbproject/
|
||||
**/nbproject/
|
||||
*.dump
|
||||
**/_dump
|
||||
@ -1,8 +0,0 @@
|
||||
DROP TABLE config;
|
||||
|
||||
CREATE TABLE config (
|
||||
config_key varchar(100),
|
||||
config_value varchar(200),
|
||||
CONSTRAINT config_pk PRIMARY KEY (config_key)
|
||||
);
|
||||
INSERT INTO config (config_key, config_value) VALUES ('account.maxFailedLogins', '5');
|
||||
@ -1,91 +0,0 @@
|
||||
/**
|
||||
* Author: joern.muehlencord
|
||||
* Created: 06.09.2015
|
||||
*/
|
||||
|
||||
DROP TABLE account_role;
|
||||
DROP TABLE account_history;
|
||||
DROP TABLE account;
|
||||
DROP TABLE role_permission;
|
||||
DROP TABLE application_role;
|
||||
DROP TABLE application_permission;
|
||||
|
||||
|
||||
CREATE TABLE application_role (
|
||||
id UUID NOT NULL,
|
||||
role_name varchar(80) NOT NULL,
|
||||
role_description varchar(200) NOT NULL,
|
||||
CONSTRAINT pk_application_role_pk PRIMARY KEY (id),
|
||||
CONSTRAINT uidx_application_id UNIQUE (id)
|
||||
);
|
||||
|
||||
CREATE TABLE account (
|
||||
id UUID NOT NULL,
|
||||
username varchar(32) NOT NULL,
|
||||
emailaddress varchar(200) NOT NULL,
|
||||
firstname varchar(100) NOT NULL,
|
||||
lastname varchar(100) NOT NULL,
|
||||
account_password char(200) NOT NULL,
|
||||
last_login timestamp with time zone,
|
||||
last_failed_login timestamp with time zone,
|
||||
failure_count int NOT NULL DEFAULT 0,
|
||||
status varchar(10) NOT NULL DEFAULT 'NEW', -- NEW, INIT, OK, BLOCKED,
|
||||
password_reset_ongoing boolean NOT NULL DEFAULT false,
|
||||
password_reset_valid_to timestamp with time zone,
|
||||
password_reset_hash char(200),
|
||||
created_on timestamp with time zone NOT NULL DEFAULT (now() at time zone 'utc'),
|
||||
created_by varchar(32) NOT NULL,
|
||||
last_updated_on timestamp with time zone NOT NULL DEFAULT (now() at time zone 'utc'),
|
||||
last_updated_by varchar(32) NOT NULL,
|
||||
CONSTRAINT pk_account PRIMARY KEY (id),
|
||||
CONSTRAINT uidx_username UNIQUE (username)
|
||||
);
|
||||
|
||||
CREATE TABLE account_history (
|
||||
id UUID NOT NULL,
|
||||
account_id UUID NOT NULL,
|
||||
message varchar(200),
|
||||
failure_count int NOT NULL DEFAULT 0,
|
||||
status varchar(20) NOT NULL, -- constants needed, after action - new, init, active, blocked, inactive, marked for deletion
|
||||
last_updated_on timestamp with time zone NOT NULL DEFAULT (now() at time zone 'utc'),
|
||||
last_updated_by varchar(32) NOT NULL,
|
||||
CONSTRAINT pk_account_history PRIMARY KEY (id),
|
||||
CONSTRAINT fk_account_history_username_fk FOREIGN KEY (account_id) REFERENCES account (id)
|
||||
);
|
||||
|
||||
CREATE TABLE account_role (
|
||||
account UUID NOT NULL,
|
||||
account_role UUID NOT NULL,
|
||||
CONSTRAINT pk_account_role PRIMARY KEY (account, account_role),
|
||||
CONSTRAINT fk_account_role_account FOREIGN KEY (account) REFERENCES account(id),
|
||||
CONSTRAINT fk_account_role_role_name FOREIGN KEY (account_role) REFERENCES application_role(id)
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE application_permission (
|
||||
id UUID NOT NULL,
|
||||
permission_name varchar(80) NOT NULL,
|
||||
permission_description varchar(200) NOT NULL,
|
||||
CONSTRAINT pk_application_permission PRIMARY KEY (id),
|
||||
CONSTRAINT uidx_application_permission_name UNIQUE (permission_name)
|
||||
);
|
||||
|
||||
CREATE TABLE role_permission (
|
||||
application_role UUID NOT NULL,
|
||||
role_permission UUID NOT NULL,
|
||||
CONSTRAINT pk_role_permission_role_permission_name PRIMARY KEY (application_role, role_permission),
|
||||
CONSTRAINT fk_role_permission_application_role FOREIGN KEY (application_role) REFERENCES application_role(id),
|
||||
CONSTRAINT fk_role_permission_role_permission FOREIGN KEY (role_permission) REFERENCES application_permission(id)
|
||||
);
|
||||
|
||||
INSERT INTO application_permission (id, permission_name, permission_description) values ('dfd0f8f1-4a51-4fdc-9a1c-a942bee9b649', 'test:view', 'Display test view');
|
||||
|
||||
INSERT INTO application_role (id, role_name, role_description) values ('5cd0aca0-5466-483d-8f3e-c369f8061131','Admin', 'Admin role');
|
||||
INSERT INTO application_role (id, role_name, role_description) values ('da30060e-fd23-4016-a506-4e12e9322148', 'User', 'Standard user role');
|
||||
|
||||
-- INSERT INTO role_permission (role_name, permission_name) values ('Admin','test:view');
|
||||
|
||||
INSERT INTO account (id, username, emailaddress, firstname, lastname, account_password, created_by, last_updated_by) values('ab5c8337-6872-4aea-a9b9-78ea63706b8f','admin', 'joern@muehlencord.de', 'Joern', 'Muehlencord','$shiro1$SHA-256$500000$4bHPNH9k539UjdFLgm/HOA==$T/n8skgoGSOtNw/c9ScDlXCiGrx2cZF0Esrvf6WPq6g=', 'admin','admin'); --admin/secret
|
||||
INSERT INTO account_role (account, account_role) values ('ab5c8337-6872-4aea-a9b9-78ea63706b8f', '5cd0aca0-5466-483d-8f3e-c369f8061131');
|
||||
|
||||
--select uuid_generate_v4();
|
||||
@ -1,21 +0,0 @@
|
||||
DROP TABLE mail_template;
|
||||
|
||||
CREATE TABLE mail_template (
|
||||
template_name varchar(40) NOT NULL,
|
||||
template_value text NOT NULL,
|
||||
CONSTRAINT mail_template_pk PRIMARY KEY (template_name)
|
||||
);
|
||||
|
||||
|
||||
INSERT INTO mail_template (template_name, template_value) VALUES('password_reset_html',
|
||||
'<#ftl strip_whitespace = true>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<body>
|
||||
Dear ${account.firstname},<br>
|
||||
<br>
|
||||
you requested to reset your password at ${parameter.url}. Please open the following URL to proceed.<br>
|
||||
<a href="${parameter.resetUrl}">${parameter.resetUrl}</a><br>
|
||||
<br>
|
||||
</body>
|
||||
</html>');
|
||||
@ -11,19 +11,20 @@
|
||||
-- -- DROP DATABASE IF EXISTS account_test;
|
||||
-- CREATE DATABASE account_test
|
||||
-- ENCODING = 'UTF8'
|
||||
-- LC_COLLATE = 'German_Germany.1252'
|
||||
-- LC_CTYPE = 'German_Germany.1252';
|
||||
-- LC_COLLATE = 'C'
|
||||
-- LC_CTYPE = 'C';
|
||||
-- -- ddl-end --
|
||||
--
|
||||
|
||||
-- object: public.config | type: TABLE --
|
||||
-- DROP TABLE IF EXISTS public.config CASCADE;
|
||||
CREATE TABLE public.config(
|
||||
application uuid NOT NULL,
|
||||
config_key varchar(100) NOT NULL,
|
||||
config_key_account uuid NOT NULL,
|
||||
config_key_group varchar(200),
|
||||
config_key_account uuid,
|
||||
config_value varchar(200),
|
||||
CONSTRAINT config_pk PRIMARY KEY (config_key)
|
||||
CONSTRAINT config_pk PRIMARY KEY (application,config_key,config_key_account)
|
||||
|
||||
);
|
||||
-- ddl-end --
|
||||
@ -32,9 +33,11 @@ CREATE TABLE public.config(
|
||||
-- DROP TABLE IF EXISTS public.application_role CASCADE;
|
||||
CREATE TABLE public.application_role(
|
||||
id uuid NOT NULL,
|
||||
application uuid NOT NULL,
|
||||
role_name character varying(80) NOT NULL,
|
||||
role_description character varying(200) NOT NULL,
|
||||
CONSTRAINT pk_application_role_pk PRIMARY KEY (id)
|
||||
CONSTRAINT application_role_pk PRIMARY KEY (id),
|
||||
CONSTRAINT application_role_name_uidx UNIQUE (application,role_name)
|
||||
|
||||
);
|
||||
-- ddl-end --
|
||||
@ -47,14 +50,7 @@ CREATE TABLE public.account(
|
||||
emailaddress character varying(200) NOT NULL,
|
||||
firstname character varying(100) NOT NULL,
|
||||
lastname character varying(100) NOT NULL,
|
||||
account_password character(200) NOT NULL,
|
||||
last_login timestamp with time zone,
|
||||
last_failed_login timestamp with time zone,
|
||||
failure_count integer NOT NULL DEFAULT 0,
|
||||
status character varying(10) NOT NULL DEFAULT 'NEW',
|
||||
password_reset_ongoing boolean NOT NULL DEFAULT false,
|
||||
password_reset_valid_to timestamp with time zone,
|
||||
password_reset_hash character(200),
|
||||
created_on timestamp with time zone NOT NULL DEFAULT timezone('utc'::text, now()),
|
||||
created_by character varying(32) NOT NULL,
|
||||
last_updated_on timestamp with time zone NOT NULL DEFAULT timezone('utc'::text, now()),
|
||||
@ -94,10 +90,11 @@ CREATE TABLE public.account_role(
|
||||
-- DROP TABLE IF EXISTS public.application_permission CASCADE;
|
||||
CREATE TABLE public.application_permission(
|
||||
id uuid NOT NULL,
|
||||
application uuid NOT NULL,
|
||||
permission_name character varying(80) NOT NULL,
|
||||
permission_description character varying(200) NOT NULL,
|
||||
CONSTRAINT pk_application_permission PRIMARY KEY (id),
|
||||
CONSTRAINT uidx_application_permission_name UNIQUE (permission_name)
|
||||
CONSTRAINT application_permission_name_uidx UNIQUE (application,permission_name)
|
||||
|
||||
);
|
||||
-- ddl-end --
|
||||
@ -122,6 +119,44 @@ CREATE TABLE public.mail_template(
|
||||
);
|
||||
-- ddl-end --
|
||||
|
||||
-- object: public.application | type: TABLE --
|
||||
-- DROP TABLE IF EXISTS public.application CASCADE;
|
||||
CREATE TABLE public.application(
|
||||
id uuid NOT NULL,
|
||||
application_name varchar(200) NOT NULL,
|
||||
CONSTRAINT application_pk PRIMARY KEY (id)
|
||||
|
||||
);
|
||||
-- ddl-end --
|
||||
|
||||
-- -- object: uuid-ossp | type: EXTENSION --
|
||||
-- -- DROP EXTENSION IF EXISTS uuid-ossp CASCADE;
|
||||
-- CREATE EXTENSION uuid-ossp
|
||||
-- WITH SCHEMA public;
|
||||
-- -- ddl-end --
|
||||
--
|
||||
-- object: public.account_login | type: TABLE --
|
||||
-- DROP TABLE IF EXISTS public.account_login CASCADE;
|
||||
CREATE TABLE public.account_login(
|
||||
id uuid NOT NULL DEFAULT uuid_generate_v4(),
|
||||
account uuid NOT NULL,
|
||||
account_password varchar(200) NOT NULL,
|
||||
last_login timestamptz,
|
||||
last_failed_login timestamptz,
|
||||
failure_count integer NOT NULL DEFAULT 0,
|
||||
password_reset_ongoing boolean NOT NULL DEFAULT false,
|
||||
password_reset_valid_to timestamptz,
|
||||
password_reset_hash varchar(200),
|
||||
created_on timestamptz NOT NULL DEFAULT timezone('utc'::text, now()),
|
||||
created_by varchar(32) NOT NULL,
|
||||
last_updated_on timestamptz NOT NULL DEFAULT timezone('utc'::text, now()),
|
||||
last_updated_by varchar(32) NOT NULL,
|
||||
CONSTRAINT account_login_pk PRIMARY KEY (id),
|
||||
CONSTRAINT account_login_uidx UNIQUE (account)
|
||||
|
||||
);
|
||||
-- ddl-end --
|
||||
|
||||
-- object: config_key_account_fk | type: CONSTRAINT --
|
||||
-- ALTER TABLE public.config DROP CONSTRAINT IF EXISTS config_key_account_fk CASCADE;
|
||||
ALTER TABLE public.config ADD CONSTRAINT config_key_account_fk FOREIGN KEY (config_key_account)
|
||||
@ -129,6 +164,20 @@ REFERENCES public.account (id) MATCH FULL
|
||||
ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
-- ddl-end --
|
||||
|
||||
-- object: config_application_fk | type: CONSTRAINT --
|
||||
-- ALTER TABLE public.config DROP CONSTRAINT IF EXISTS config_application_fk CASCADE;
|
||||
ALTER TABLE public.config ADD CONSTRAINT config_application_fk FOREIGN KEY (application)
|
||||
REFERENCES public.application (id) MATCH FULL
|
||||
ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
-- ddl-end --
|
||||
|
||||
-- object: application_role_app_fk | type: CONSTRAINT --
|
||||
-- ALTER TABLE public.application_role DROP CONSTRAINT IF EXISTS application_role_app_fk CASCADE;
|
||||
ALTER TABLE public.application_role ADD CONSTRAINT application_role_app_fk FOREIGN KEY (application)
|
||||
REFERENCES public.application (id) MATCH FULL
|
||||
ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
-- ddl-end --
|
||||
|
||||
-- object: fk_account_history_username_fk | type: CONSTRAINT --
|
||||
-- ALTER TABLE public.account_history DROP CONSTRAINT IF EXISTS fk_account_history_username_fk CASCADE;
|
||||
ALTER TABLE public.account_history ADD CONSTRAINT fk_account_history_username_fk FOREIGN KEY (account_id)
|
||||
@ -150,6 +199,13 @@ REFERENCES public.application_role (id) MATCH SIMPLE
|
||||
ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
-- ddl-end --
|
||||
|
||||
-- object: application_permission_app_fk | type: CONSTRAINT --
|
||||
-- ALTER TABLE public.application_permission DROP CONSTRAINT IF EXISTS application_permission_app_fk CASCADE;
|
||||
ALTER TABLE public.application_permission ADD CONSTRAINT application_permission_app_fk FOREIGN KEY (application)
|
||||
REFERENCES public.application (id) MATCH FULL
|
||||
ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
-- ddl-end --
|
||||
|
||||
-- object: fk_role_permission_application_role | type: CONSTRAINT --
|
||||
-- ALTER TABLE public.role_permission DROP CONSTRAINT IF EXISTS fk_role_permission_application_role CASCADE;
|
||||
ALTER TABLE public.role_permission ADD CONSTRAINT fk_role_permission_application_role FOREIGN KEY (application_role)
|
||||
@ -164,4 +220,11 @@ REFERENCES public.application_permission (id) MATCH SIMPLE
|
||||
ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
-- ddl-end --
|
||||
|
||||
-- object: account_login_fk | type: CONSTRAINT --
|
||||
-- ALTER TABLE public.account_login DROP CONSTRAINT IF EXISTS account_login_fk CASCADE;
|
||||
ALTER TABLE public.account_login ADD CONSTRAINT account_login_fk FOREIGN KEY (account)
|
||||
REFERENCES public.account (id) MATCH FULL
|
||||
ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
-- ddl-end --
|
||||
|
||||
|
||||
|
||||
@ -9,9 +9,6 @@ DELETE FROM application;
|
||||
|
||||
INSERT INTO application (id, application_name) values ('143a2bd3-7e0b-4162-a76e-3031331c7dfe', 'Account UI');
|
||||
|
||||
-- permissions not used in Account UI
|
||||
-- INSERT INTO application_permission (id, permission_name, permission_description) values ('dfd0f8f1-4a51-4fdc-9a1c-a942bee9b649', 'test:view', 'Display test view');
|
||||
|
||||
-- add roles to Account UI application
|
||||
INSERT INTO application_role (id, application, role_name, role_description) values ('5cd0aca0-5466-483d-8f3e-c369f8061131','143a2bd3-7e0b-4162-a76e-3031331c7dfe', 'Admin', 'Admin role');
|
||||
INSERT INTO application_role (id, application, role_name, role_description) values ('da30060e-fd23-4016-a506-4e12e9322148','143a2bd3-7e0b-4162-a76e-3031331c7dfe', 'User', 'Standard user role');
|
||||
|
||||
4
account/sql/backupAccountTest.bat
Normal file
4
account/sql/backupAccountTest.bat
Normal file
@ -0,0 +1,4 @@
|
||||
echo off
|
||||
SET BACKUPFOLDER=%~dp0
|
||||
"C:\Program Files\PostgreSQL\10\bin\pg_dump.exe" -U jomu -n public --column-inserts --attribute-inserts --no-owner --no-privileges --no-acl account_test > %BACKUPFOLDER%\account_test.dump
|
||||
pause;
|
||||
@ -1,2 +0,0 @@
|
||||
\i 01_accounts.sql
|
||||
\i 02_templates.sql
|
||||
10
account/sql/drop_all_tables.sql
Normal file
10
account/sql/drop_all_tables.sql
Normal file
@ -0,0 +1,10 @@
|
||||
DROP TABLE IF EXISTS config CASCADE;
|
||||
DROP TABLE IF EXISTS account_role CASCADE;
|
||||
DROP TABLE IF EXISTS account_login CASCADE;
|
||||
DROP TABLE IF EXISTS account CASCADE;
|
||||
DROP TABLE IF EXISTS role_permission CASCADE;
|
||||
DROP TABLE IF EXISTS application_role CASCADE;
|
||||
DROP TABLE IF EXISTS application_permission CASCADE;
|
||||
DROP TABLE IF EXISTS application CASCADE;
|
||||
DROP TABLE IF EXISTS account_history CASCADE;
|
||||
DROP TABLE IF EXISTS mail_template CASCADE;
|
||||
5
account/sql/restoreAccount.bat
Normal file
5
account/sql/restoreAccount.bat
Normal file
@ -0,0 +1,5 @@
|
||||
@ECHO OFF
|
||||
SET BACKUPFOLDER=%~dp0
|
||||
"C:\Program Files\PostgreSQL\10\bin\psql.exe" -U jomu --set ON_ERROR_STOP=on account < %BACKUPFOLDER%\drop_all_tables.sql
|
||||
"C:\Program Files\PostgreSQL\10\bin\psql.exe" -U jomu --set ON_ERROR_STOP=on account < %BACKUPFOLDER%\restore.dump
|
||||
pause;
|
||||
5
account/sql/restoreAccountTest.bat
Normal file
5
account/sql/restoreAccountTest.bat
Normal file
@ -0,0 +1,5 @@
|
||||
@ECHO OFF
|
||||
SET BACKUPFOLDER=%~dp0
|
||||
"C:\Program Files\PostgreSQL\10\bin\psql.exe" -U jomu --set ON_ERROR_STOP=on account_test < %BACKUPFOLDER%\drop_all_tables.sql
|
||||
"C:\Program Files\PostgreSQL\10\bin\psql.exe" -U jomu --set ON_ERROR_STOP=on account_test < %BACKUPFOLDER%\restore.dump
|
||||
pause;
|
||||
Reference in New Issue
Block a user