Skip to content

Commit 5a0cae5

Browse files
authored
Create README.md
1 parent 0ed5790 commit 5a0cae5

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

README.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# DBIPlugin
2+
Database middle layer to manage connections and schemes
3+
4+
This plugin offers a middle layer for Foswiki extensions to ease connecting to
5+
SQL databases and manage schemes of table and index definitions. The idea is to
6+
keep things as lean as possible without imposing any additional structure. <nop>DBIPlugin
7+
will maintain a plugin's database scheme to make sure it is created and updated as required.
8+
9+
A plugin sub-classes Foswiki::DBI::Schema which is then loaded before
10+
connecting to a database. While connecting to the database the schema then is added to the database.
11+
12+
<nop>DBIPlugin supports any database for which a DBD perl driver is available. A plugin may support
13+
multiple databases where the schemes differ in parts. For example the schema for SQLite differs
14+
from the one for <nop>MariaDB, <nop>MySQL or <nop>PostgreSQL. The plugin will then implement:
15+
16+
* Foswiki::DBISchema::SQLite
17+
* Foswiki::DBISchema::MariaDB
18+
* Foswiki::DBISchema::MySQL
19+
* Foswiki::DBISchema::PostgreSQL
20+
21+
The syntax of each of them are custom tailored towards the respective database vendor. Note
22+
however that from there on it is the plugin's responsibility to cope with further differences
23+
among databases beyond just schema definitions.
24+
25+
Have a look at DBIPluginPerlAPI for further information.

0 commit comments

Comments
 (0)