Warn
POD ERRORS here is normal because DBIx::POS::Template used.
Mojolicious::Plugin::RoutesAuthDBI::DB
¡ ¡ ¡ ALL GLORY TO GLORIA ! ! !
NAME
Mojolicious::Plugin::RoutesAuthDBI::DB - DB schema (PostgreSQL).
DB DESIGN DIAGRAM
See https://github.com/mche/Mojolicious-Plugin-RoutesAuthDBI/blob/master/Diagram.svg
DB design
Schema
CREATE SCHEMA IF NOT EXISTS "{% $schema %}";
set local search_path = "{% $schema %}";
Sequence
-- you may change schema name for PostgreSQL objects
CREATE SEQUENCE {% $schema %}ID;-- one sequence for all tables id
Routes table
CREATE TABLE {% $schema %}routes (
id integer default nextval('{% $schema %}ID'::regclass) not null primary key,
ts timestamp without time zone default now() not null,
request character varying not null,
name character varying not null unique,
descr text null,
auth varchar null,-- was bit(1): alter table {% $schema %}routes alter column auth type varchar;
disable bit(1) null,
-- interval_ts - смещение ts (seconds) для приоритета маршрута, т.е. влияет на сортровку маршрутов
interval_ts int null -- was order_by int null; alter table {% $schema %}routes rename column order_by to interval_ts;
);
Namespaces table
create table {% $schema %}namespaces (
id integer default nextval('{% $schema %}ID'::regclass) not null primary key,
ts timestamp without time zone default now() not null,
namespace character varying not null unique,
descr text null,
app_ns bit(1) null, -- alter table {% $schema %}namespaces add column app_ns bit(1) null;
-- interval_ts - смещение ts (seconds) для приоритета namespace
interval_ts int null -- alter table {% $schema %}namespaces add column interval_ts int null;
);
Controllers table
create table {% $schema %}controllers (
id integer default nextval('{% $schema %}ID'::regclass) not null primary key,
ts timestamp without time zone default now() not null,
controller character varying not null,
descr text null
);
Actions table
create table {% $schema %}actions (
id integer default nextval('{% $schema %}ID'::regclass) not null primary key,
ts timestamp without time zone default now() not null,
action character varying not null,
callback text null,
descr text null
);
Users table
create table {% $schema %}users (
id int default nextval('{% $schema %}ID'::regclass) not null primary key,
ts timestamp without time zone default now() not null,
login varchar not null unique,
pass varchar not null,
disable bit(1)
);
Roles table
create table {% $schema %}roles (
id int default nextval('{% $schema %}ID'::regclass) not null primary key,
ts timestamp without time zone default now() not null,
name varchar not null unique,
disable bit(1)
);
Refs table
create table {% $schema %}refs (
id int default nextval('{% $schema %}ID'::regclass) not null primary key,
ts timestamp without time zone default now() not null,
id1 int not null,
id2 int not null,
unique(id1, id2)
);
create index on {% $schema %}refs (id2);
Drop
drop table {% $schema %}refs;
drop table {% $schema %}users;
drop table {% $schema %}roles;
drop table {% $schema %}routes;
drop table {% $schema %}controllers;
drop table {% $schema %}actions;
drop table {% $schema %}namespaces;
drop sequence {% $schema %}ID;
Flush
delete from {% $schema %}refs;
delete from {% $schema %}users;
delete from {% $schema %}roles;
delete from {% $schema %}routes;
delete from {% $schema %}controllers;
delete from {% $schema %}namespaces;
delete from {% $schema %}actions;
33 POD Errors
The following errors were encountered while parsing the POD:
- Around line 31:
Unknown directive: =name
- Around line 33:
Unknown directive: =desc
- Around line 35:
Unknown directive: =sql
- Around line 43:
Unknown directive: =name
- Around line 45:
Unknown directive: =desc
- Around line 47:
Unknown directive: =sql
- Around line 55:
Unknown directive: =name
- Around line 57:
Unknown directive: =desc
- Around line 59:
Unknown directive: =sql
- Around line 75:
Unknown directive: =name
- Around line 77:
Unknown directive: =desc
- Around line 79:
Unknown directive: =sql
- Around line 93:
Unknown directive: =name
- Around line 95:
Unknown directive: =desc
- Around line 97:
Unknown directive: =sql
- Around line 108:
Unknown directive: =name
- Around line 110:
Unknown directive: =desc
- Around line 112:
Unknown directive: =sql
- Around line 124:
Unknown directive: =name
- Around line 126:
Unknown directive: =desc
- Around line 128:
Unknown directive: =sql
- Around line 140:
Unknown directive: =name
- Around line 142:
Unknown directive: =desc
- Around line 144:
Unknown directive: =sql
- Around line 155:
Unknown directive: =name
- Around line 157:
Unknown directive: =desc
- Around line 159:
Unknown directive: =sql
- Around line 204:
Unknown directive: =name
- Around line 206:
Unknown directive: =desc
- Around line 208:
Unknown directive: =sql
- Around line 236:
Unknown directive: =name
- Around line 238:
Unknown directive: =desc
- Around line 240:
Unknown directive: =sql