
Security News
AI Agent Lands PRs in Major OSS Projects, Targets Maintainers via Cold Outreach
An AI agent is merging PRs into major OSS projects and cold-emailing maintainers to drum up more work.
dbgate-api
Advanced tools
Allows run DbGate data-manipulation scripts.
yarn add dbgate-api
This example exports table Customer info CSV file.
const dbgateApi = require('dbgate-api');
const dbgatePluginMysql = require("dbgate-plugin-mysql");
const dbgatePluginCsv = require("dbgate-plugin-csv");
dbgateApi.registerPlugins(dbgatePluginMysql);
async function run() {
const reader = await dbgateApi.tableReader({
connection: { server: 'localhost', engine: 'mysql@dbgate-plugin-mysql', user: 'root', password: 'xxxx', database: 'Chinook' },
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);
Copies data from reader into writer. Reader and writer should be created from functions listed below.
await dbgateApi.copyStream(reader, writer);
Reads table or view.
const reader = await dbgateApi.tableReader({
connection: { server: 'localhost', engine: 'postgres@dbgate-plugin-postgres', user: 'root', password: 'xxxx', database: 'DB_NAME' },
schemaName: 'public',
pureName: 'Customer',
});
Executes query and reads its result.
const reader = await dbgateApi.tableReader({
connection: { server: 'localhost', engine: 'mysql@dbgate-plugin-mysql', user: 'root', password: 'xxxx', database: 'DB_NAME' },
sql: 'SELECT * FROM Album',
});
Imports data into table. Options are optional, default values are false.
const reader = await dbgateApi.tableWriter({
connection: { server: 'localhost', engine: 'mysql@dbgate-plugin-mysql', user: 'root', password: 'xxxx', database: 'DB_NAME' },
pureName: 'Customer',
options: {
dropIfExists: false,
truncate: false,
createIfNotExists: false,
}
});
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
});
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
});
FAQs
Allows run DbGate data-manipulation scripts.
The npm package dbgate-api receives a total of 522 weekly downloads. As such, dbgate-api popularity was classified as not popular.
We found that dbgate-api demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
An AI agent is merging PRs into major OSS projects and cold-emailing maintainers to drum up more work.

Research
/Security News
Chrome extension CL Suite by @CLMasters neutralizes 2FA for Facebook and Meta Business accounts while exfiltrating Business Manager contact and analytics data.

Security News
After Matplotlib rejected an AI-written PR, the agent fired back with a blog post, igniting debate over AI contributions and maintainer burden.