NAME
Mojolicious::Plugin::DbicSchemaViewer - Viewer for DBIx::Class schema definitions
VERSION
Version 0.0200, released 2016-09-20.
SYNOPSIS
$self->plugin(DbicSchemaViewer => {
schema => Your::Schema->connect(...),
});
DESCRIPTION
This plugin is a definition viewer for DBIx::Class schemas. It currently offers two different views on the schema:
It lists all result sources with column definitions and and their relationships in table form.
It uses DBIx::Class::Visualizer to generate an entity-relationship model.
Configuration
The following settings are available. It is recommended to use either "router" or "condition" to place the viewer behind some kind of authorization check.
allowed_schemas
An optional array reference consisting of schema classes. If set, only these classes are available for viewing.
If not set, all findable schema classes can be viewed.
url
Optional.
By default, the viewer is located at /dbic-schema-viewer
.
$self->plugin(DbicSchemaViewer => {
url => '/the-schema',
schema => Your::Schema->connect(...),
});
The viewer is instead located at /the-schema
.
Note that the CSS and Javascript files are served under /dbic-schema-viewer
regardless of this setting.
router
Optional. Can not be used together with "condition".
Use this when you which to place the viewer behind an under
route:
my $secure = $app->routes->under('/secure' => sub {
my $c = shift;
return defined $c->session('logged_in') ? 1 : 0;
});
$self->plugin(DbicSchemaViewer => {
router => $secure,
schema => Your::Schema->connect(...),
});
Now the viewer is located at /secure/dbic-schema-viewer
(if the check is successful).
condition
Optional. Can not be used together with "router".
Use this when you have a named condition you which to place the viewer behind:
$self->routes->add_condition(random => sub { return !int rand 4 });
$self->plugin(DbicSchemaViewer => {
condition => 'random',
schema => Your::Schema->connect(...),
});
DEMO
There is a demo available at http://dsv.code301.com/MadeUp::Book::Schema. Don't miss the help page for instructions.
SEE ALSO
dbic-schema-viewer
- a small application (in/bin
) for running this plugin standalone.
SOURCE
https://github.com/Csson/p5-Mojolicious-Plugin-DbicSchemaViewer
HOMEPAGE
https://metacpan.org/release/Mojolicious-Plugin-DbicSchemaViewer
AUTHOR
Erik Carlsson <info@code301.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2016 by Erik Carlsson.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.