| Vendor | MindTouch |
| Type | Extension |
| Categories | Database |
| Requires | MindTouch 1.8.2 or later |
| OS Restriction | None |
| Status | Stable |
| License | Free/Open Source |
| SID (service id) | sid://mindtouch.com/2007/06/mysql |
| Assembly | mindtouch.deki.services |
Table of Contents
This extension contains functions for displaying data from MySQL databases.
See also How to add an extension, Using the Extension Dialog, Learn about DekiScript, Extensions Directory.
Configuration:
Before the MySql service can be used, it must be configured with the access information to the database.
| Config Key | Description |
| db-server | IP/hostname of the MySql server. |
| db-port | Optional. MySql server port. (default: 3306) |
| db-catalog | Database catalog name. The catalog is also referred to database at times. The catalog contains the tables. |
| db-user | User name. (IMPORTANT: make sure user has read-only access!) |
| db-password | Password for user. |
| db-options | Optional. Custom options string that is passed in when connecting to the database. |
If you need to configure multiple databases for the same wiki, register this extension once for each database. Use the following preference to specify a unique namespace value for each registration. Invoke the service using this value instead of mysql. For example, if you set namespace=mydb1, you would invoke the service with mydb1.table("...") instead of mysql.table("...").
| Preference | Description |
| namespace | Specifies a custom namespace (default: mysql) |
Show results of a SELECT query in a sortable table.
Parameters:
| Name | Type | Description |
| query | str | SELECT query. |
Samples:
| Output | ||
|
Show single value from a SELECT query. (New in 1.8.3)
Parameters:
| Name | Type | Description |
| query | str | SELECT query. |
Collect rows as a list from a SELECT query. (New in 1.8.3)
Parameters:
| Name | Type | Description |
| query | str | SELECT query. |
| column | str | Optional. Column name (default: first column) |
Collect all columns from a SELECT query. (New in 8.05)
Parameters:
| Name | Type | Description |
| query | str | SELECT query. |
Collect all columns and all rows from a SELECT query. (New in 8.05)
Parameters:
| Name | Type | Description |
| query | str | SELECT query. |
It would be great to allow the user to add data to mysql directly on the wiki page.
"how difficult would it be to add a function that would push data entered into a form into the mysql database
I would like to have a dynmic table on a wiki page to which data can be added and deleted."
That would be a great feature.
I wanted to transform the ID-field to a link that would point to our issue tracker, I did a really fancy MySQL query for it and when I tested it in mysql client, it worked perfectly. However when I tried it in this extension, the link part only returned the text "System.Byte[]". It did fetch all the rows correctly and render the table, but the ID part was not working for some reason. Any idea what might cause that?
The query I was using was similar to this: (yes, I did escape the double quotes when I put it inside mysql.Table())
SELECT CONCAT_WS('', '<a href="http://url.to.issue.tracker/issue/', issue_id, '">', issue_id, '</a>') AS `ID`, issue_title AS `Title` FROM issues WHERE project = 1337
"db-catalog Config Key" = What is this supposed to be? MySql has its server name, which contains one or more databases within it, each of which contains one or more tables. So what's a catalog?
"Preference = namespace" = are you trying to associate a particular database within a MySql server here?
An example or two of connection parameters would also be helpful.
function | spec | manifest
-------------------------------------
Value | xml | str
List | xml | list