NAME
Yancy::Backend::Mysql - A backend for MySQL using Mojo::mysql
VERSION
version 1.088
SYNOPSIS
### URL string
use
Mojolicious::Lite;
plugin
Yancy
=> {
read_schema
=> 1,
};
### Mojo::mysql object
use
Mojolicious::Lite;
use
Mojo::mysql;
plugin
Yancy
=> {
read_schema
=> 1,
};
### Hash reference
use
Mojolicious::Lite;
plugin
Yancy
=> {
backend
=> {
Mysql
=> {
dsn
=>
'dbi:mysql:dbname'
,
username
=>
'fry'
,
password
=>
'b3nd3r1sgr34t'
,
},
},
read_schema
=> 1,
};
DESCRIPTION
This Yancy backend allows you to connect to a MySQL database to manage the data inside. This backend uses Mojo::mysql to connect to MySQL.
See Yancy::Backend for the methods this backend has and their return values.
Backend URL
The URL for this backend takes the form mysql://<user>:<pass>@<host>:<port>/<db>
.
Some examples:
# Just a DB
# User+DB (server on localhost:3306)
# User+Pass Host and DB
Schema Names
The schema names for this backend are the names of the tables in the database.
So, if you have the following schema:
CREATE TABLE people (
id INTEGER AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL
);
CREATE TABLE business (
id INTEGER AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) NULL
);
You could map that to the following schema:
{
schema
=> {
People
=> {
required
=> [
'name'
,
'email'
],
properties
=> {
id
=> {
type
=>
'integer'
,
readOnly
=> 1,
},
name
=> {
type
=>
'string'
},
=> {
type
=>
'string'
},
},
},
Business
=> {
required
=> [
'name'
],
properties
=> {
id
=> {
type
=>
'integer'
,
readOnly
=> 1,
},
name
=> {
type
=>
'string'
},
=> {
type
=>
'string'
},
},
},
},
}
SEE ALSO
AUTHOR
Doug Bell <preaction@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2021 by Doug Bell.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.