|
1 | 1 | # gulp-etl-mysql-adapter #
|
2 | 2 |
|
3 |
| -This plugin connects to **MySQL** databases, running SQL queries and extracting the resulting rows to **gulp-etl** **Message Stream** files. It is a **gulp-etl** wrapper for [mysql](https://www.npmjs.com/package/mysql). |
| 3 | +This plugin connects to **MySQL** databases, running SQL queries and extracting the resulting rows to **gulp-etl** **Message Stream** files via its **.src()** function. In the future it will also have **.dest()** which writes data to the database. It is a **gulp-etl** wrapper for [mysql](https://www.npmjs.com/package/mysql). |
4 | 4 |
|
5 |
| -This is a **[gulp-etl](https://gulpetl.com/)** tap, but unlike most of the other gulp-etl modules it is not a [gulp](https://gulpjs.com/) **[plugin](https://gulpjs.com/docs/en/getting-started/using-plugins)**; it is actually a **[vinyl adapter](https://gulpjs.com/docs/en/api/concepts#vinyl-adapters)**--it features a replacement for **[gulp.src()](https://gulpjs.com/docs/en/api/src)**. **gulp-etl** plugins and adapters work with [ndjson](http://ndjson.org/) data streams/files which we call **Message Streams** and which are compliant with the [Singer specification](https://github.com/singer-io/getting-started/blob/master/docs/SPEC.md#output). In the **gulp-etl** ecosystem, **taps** tap into an outside format or system (in this case, a MySQL database) and convert their contents/output to a Message Stream, and **targets** convert/output Message Streams to an outside format or system. In this way, these modules can be stacked to convert from one format or system to another, either directly or with tranformations or other parsing in between. Message Streams look like this: |
| 5 | +This is a **[gulp-etl](https://gulpetl.com/)** adapter, but unlike most of the other gulp-etl modules it is not a [gulp](https://gulpjs.com/) **[plugin](https://gulpjs.com/docs/en/getting-started/using-plugins)**; it is actually a **[vinyl adapter](https://gulpjs.com/docs/en/api/concepts#vinyl-adapters)**--it features a replacement for **[gulp.src()](https://gulpjs.com/docs/en/api/src)** (and soon **[gulp.dest()](https://gulpjs.com/docs/en/api/dest)** as well). **gulp-etl** plugins and adapters work with [ndjson](http://ndjson.org/) data streams/files which we call **Message Streams** and which are compliant with the [Singer specification](https://github.com/singer-io/getting-started/blob/master/docs/SPEC.md#output). In the **gulp-etl** ecosystem, **taps** tap into an outside format or system (in this case, a MySQL database) and convert their contents/output to a Message Stream, **targets** convert/output Message Streams to an outside format or system, and **adapters** may do both (functioning as a both a tap and a target). These modules can then be stacked together to convert from one format or system to another, either directly or with tranformations or other parsing in between. Message Streams look like this: |
6 | 6 |
|
7 | 7 | ```
|
8 | 8 | {"type": "SCHEMA", "stream": "users", "key_properties": ["id"], "schema": {"required": ["id"], "type": "object", "properties": {"id": {"type": "integer"}}}}
|
@@ -51,8 +51,10 @@ exports.default = function() {
|
51 | 51 | ```
|
52 | 52 |
|
53 | 53 | ### Under Construction - notes and warnings
|
54 |
| -* This is an early-stage module, with much functionality to come. Much of the feature set will be modeled after the [Singer MySQL tap](https://www.singer.io/tap/mysql/) |
55 |
| -* Currently only works in stream mode (configObj.buffer=false) |
| 54 | +* This is an early-stage module, with much functionality to come. Pardon our dust. |
| 55 | +* Much of the upcoming feature set for .src() will be modeled after the [Singer MySQL tap](https://www.singer.io/tap/mysql/) |
| 56 | +* .dest() does not yet exist. Its feature set will be modeled after the [Singer PostgreSQL target](https://www.singer.io/target/postgresql/) |
| 57 | + |
56 | 58 | * Tests are not yet added
|
57 | 59 |
|
58 | 60 | ### Quick Start for Coding on This Plugin
|
|
0 commit comments