dbgate-api

    4.4.0-alpha.1 • Public • Published

    dbgate-api

    Allows run DbGate data-manipulation scripts.

    Installation

    yarn add dbgate-api
    

    Usage

    This example exports table Customer info CSV file.

    const dbgateApi = require('dbgate-api');
    const dbgatePluginMssql = require("dbgate-plugin-mssql");
    const dbgatePluginCsv = require("dbgate-plugin-csv");
    
    dbgateApi.registerPlugins(dbgatePluginMssql);
    
    async function run() {
      const reader = await dbgateApi.tableReader({
        connection: { server: 'localhost', engine: 'mssql', user: 'sa', password: 'xxxx', database: 'Chinook' },
        schemaName: 'dbo',
        pureName: 'Customer',
      });
      const writer = await dbgatePluginCsv.shellApi.writer({ fileName: 'Customer.csv' });
      await dbgateApi.copyStream(reader, writer);
    
      console.log('Finished job script');
    }
    dbgateApi.runScript(run);

    Silly example, runs without any dependencies. Copy fakeObjectReader to consoleObjectWriter .

    const dbgateApi = require('dbgate-api');
    async function run() {
      const reader = await dbgateApi.fakeObjectReader();
      const writer = await dbgateApi.consoleObjectWriter();
      await dbgateApi.copyStream(reader, writer);
      console.log('Finished job script');
    }
    dbgateApi.runScript(run);

    dbgateApi functions

    dbgateApi.copyStream

    Copies data from reader into writer. Reader and writer should be created from functions listed below.

      await dbgateApi.copyStream(reader, writer);

    dbgateApi.tableReader

    Reads table or view.

      const reader = await dbgateApi.tableReader({
        connection: { server: 'localhost', engine: 'mssql' | 'postgres' | 'mysql', user: 'root', password: 'xxxx', database: 'DB_NAME' },
        schemaName: 'dbo',
        pureName: 'Customer',
      });

    dbgateApi.queryReader

    Executes query and reads its result.

      const reader = await dbgateApi.tableReader({
        connection: { server: 'localhost', engine: 'mssql' | 'postgres' | 'mysql', user: 'root', password: 'xxxx', database: 'DB_NAME' },
        sql: 'SELECT * FROM Album',
      });

    dbgateApi.tableWriter

    Imports data into table. Options are optional, default values are false.

    • dropIfExists - if table already exists, it is dropped before import
    • truncate - delete table content before import
    • createIfNotExists - create table, if not exists
      const reader = await dbgateApi.tableWriter({
        connection: { server: 'localhost', engine: 'mssql' | 'postgres' | 'mysql', user: 'root', password: 'xxxx', database: 'DB_NAME' },
        schemaName: 'dbo',
        pureName: 'Customer',
        options: {
          dropIfExists: false,
          truncate: false,
          createIfNotExists: false,
        }
      });

    dbgateApi.jsonLinesReader

    Reads JSON lines data file. On first line could be structure. Every line contains one row as JSON serialized object.

      const reader = await dbgateApi.jsonLinesReader({
        fileName: 'test.jsonl',
        encoding: 'utf-8',
        header: true,
        limitRows: null
      });

    dbgateApi.jsonLinesWriter

    Writes JSON lines data file. On first line could be structure. Every line contains one row as JSON serialized object.

      const reader = await dbgateApi.jsonLinesWriter({
        fileName: 'test.jsonl',
        encoding: 'utf-8',
        header: true
      });

    Install

    npm i dbgate-api

    Homepage

    dbgate.org/

    DownloadsWeekly Downloads

    60

    Version

    4.4.0-alpha.1

    License

    MIT

    Unpacked Size

    136 kB

    Total Files

    83

    Last publish

    Collaborators

    • jan.prochazka