mirror of
https://github.com/node-red/node-red-nodes.git
synced 2023-10-10 13:36:58 +02:00
mysql: add charset option (defaults as-is to old UTF8)
This commit is contained in:
parent
667c7588f9
commit
4641d10beb
@ -24,6 +24,10 @@
|
|||||||
<label for="node-config-input-tz"><i class="fa fa-clock-o"></i> Timezone</label>
|
<label for="node-config-input-tz"><i class="fa fa-clock-o"></i> Timezone</label>
|
||||||
<input type="text" id="node-config-input-tz">
|
<input type="text" id="node-config-input-tz">
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<label for="node-config-input-charset"><i class="fa fa-language"></i> Charset</label>
|
||||||
|
<input type="text" id="node-config-input-charset">
|
||||||
|
</div>
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<label for="node-config-input-name"><i class="fa fa-tag"></i> Name</label>
|
<label for="node-config-input-name"><i class="fa fa-tag"></i> Name</label>
|
||||||
<input type="text" id="node-config-input-name" placeholder="Name">
|
<input type="text" id="node-config-input-name" placeholder="Name">
|
||||||
@ -37,10 +41,9 @@
|
|||||||
name: {value:""},
|
name: {value:""},
|
||||||
host: {value:"127.0.0.1",required:true},
|
host: {value:"127.0.0.1",required:true},
|
||||||
port: {value:"3306",required:true},
|
port: {value:"3306",required:true},
|
||||||
//user: {value:"",required:true},
|
|
||||||
//pass: {value:"",required:true},
|
|
||||||
db: {value:"",required:true},
|
db: {value:"",required:true},
|
||||||
tz: {value:""}
|
tz: {value:""},
|
||||||
|
charset: {value:"UTF8"}
|
||||||
},
|
},
|
||||||
credentials: {
|
credentials: {
|
||||||
user: {type: "text"},
|
user: {type: "text"},
|
||||||
@ -52,6 +55,12 @@
|
|||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<script type="text/html" data-help-name="MySQLdatabase">
|
||||||
|
<p>Add the credentials for accessing your database here.</p>
|
||||||
|
<p>Timezone can be set like GMT, EST5EDT, UTC, etc</p>
|
||||||
|
<p>The Charset defaults to the "old" 3 byte Mysql UTF8. If you need support for emojis etc then use UTF8MB4.</p>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script type="text/html" data-template-name="mysql">
|
<script type="text/html" data-template-name="mysql">
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
|
@ -9,6 +9,7 @@ module.exports = function(RED) {
|
|||||||
this.host = n.host;
|
this.host = n.host;
|
||||||
this.port = n.port;
|
this.port = n.port;
|
||||||
this.tz = n.tz || "local";
|
this.tz = n.tz || "local";
|
||||||
|
this.charset = (n.charset || "UTF8_GENERAL_CI").toUpperCase();
|
||||||
|
|
||||||
this.connected = false;
|
this.connected = false;
|
||||||
this.connecting = false;
|
this.connecting = false;
|
||||||
@ -41,7 +42,8 @@ module.exports = function(RED) {
|
|||||||
timezone : node.tz,
|
timezone : node.tz,
|
||||||
insecureAuth: true,
|
insecureAuth: true,
|
||||||
multipleStatements: true,
|
multipleStatements: true,
|
||||||
connectionLimit: 25
|
connectionLimit: 25,
|
||||||
|
charset: node.charset
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15,18 +15,24 @@ Usage
|
|||||||
|
|
||||||
Allows basic access to a MySQL database.
|
Allows basic access to a MySQL database.
|
||||||
|
|
||||||
This node uses the <b>query</b> operation against the configured database. This does allow both INSERTS and DELETES.
|
This node uses the **query** operation against the configured database. This does allow both INSERTS and DELETES.
|
||||||
|
|
||||||
By its very nature it allows SQL injection... so <i>be careful out there...</i>
|
By its very nature it allows SQL injection... so *be careful out there...*
|
||||||
|
|
||||||
The `msg.topic` must hold the <i>query</i> for the database, and the result is returned in `msg.payload`.
|
The `msg.topic` must hold the *query* for the database, and the result is returned in `msg.payload`.
|
||||||
|
|
||||||
Typically the returned payload will be an array of the result rows.
|
Typically the returned payload will be an array of the result rows.
|
||||||
|
|
||||||
If nothing is found for the key then <i>null</i> is returned.
|
If nothing is found for the key then *null* is returned.
|
||||||
|
|
||||||
The reconnect retry timeout in milliseconds can be changed by adding a line to <b>settings.js</b>
|
The reconnect retry timeout in milliseconds can be changed by adding a line to **settings.js**
|
||||||
<pre>mysqlReconnectTime: 30000,</pre></p>
|
```javascript
|
||||||
|
mysqlReconnectTime: 30000,
|
||||||
|
```
|
||||||
|
|
||||||
|
The timezone can be set like GMT, EST5EDT, UTC, etc.
|
||||||
|
|
||||||
|
The charset defaults to the "old" Mysql 3 byte UTF. If you need support for emojis etc then use UTF8MB4.
|
||||||
|
|
||||||
|
|
||||||
Preparing Queries
|
Preparing Queries
|
||||||
@ -46,6 +52,7 @@ msg.payload.newUsername="example-user";
|
|||||||
msg.topic="INSERT INTO users (`userid`, `username`) VALUES (:userToChange, :newUsername) ON DUPLICATE KEY UPDATE `username`=:newUsername;"
|
msg.topic="INSERT INTO users (`userid`, `username`) VALUES (:userToChange, :newUsername) ON DUPLICATE KEY UPDATE `username`=:newUsername;"
|
||||||
return msg;
|
return msg;
|
||||||
```
|
```
|
||||||
|
|
||||||
Documentation
|
Documentation
|
||||||
-----
|
-----
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "node-red-node-mysql",
|
"name": "node-red-node-mysql",
|
||||||
"version": "0.1.0",
|
"version": "0.1.1",
|
||||||
"description": "A Node-RED node to read and write to a MySQL database",
|
"description": "A Node-RED node to read and write to a MySQL database",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"mysql": "^2.18.1"
|
"mysql": "^2.18.1"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user