{"id":42013,"library":"streamsql","title":"streamsql","description":"A streaming, backend-agnostic SQL ORM for Node.js, inspired by levelup. Version 0.8.5 is the latest stable release, with sparse maintenance. It supports MySQL and SQLite3 drivers, providing a stream-based API for CRUD operations on database tables. Key differentiators include a streaming interface (createReadStream, createWriteStream) and backend abstraction, but note it does not auto-install database drivers. Current status is 'deprecated' as it was last published in 2013 and has no recent updates.","status":"deprecated","version":"0.8.5","language":"javascript","source_language":"en","source_url":"git://github.com/brianloveswords/streamsql","tags":["javascript","database","streams","streaming","mysql","sqlite3","sqlite","orm"],"install":[{"cmd":"npm install streamsql","lang":"bash","label":"npm"},{"cmd":"yarn add streamsql","lang":"bash","label":"yarn"},{"cmd":"pnpm add streamsql","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Required for MySQL driver support, not included as a direct dependency.","package":"mysql","optional":true},{"reason":"Required for SQLite3 driver support, not included as a direct dependency.","package":"sqlite3","optional":true}],"imports":[{"note":"This package is CommonJS only, no ESM support.","wrong":"import streamsql from 'streamsql';","symbol":"streamsql","correct":"const streamsql = require('streamsql');"},{"note":"Use connect() to get a db instance; new streamsql() is not a constructor.","wrong":"const db = new streamsql();","symbol":"db","correct":"const db = streamsql.connect({ driver: 'sqlite3', filename: ':memory:' });"},{"note":"The method is table() not registerTable().","wrong":"db.registerTable('users', { fields: ['id', 'name'] });","symbol":"table","correct":"db.table('users', { fields: ['id', 'name'] });"}],"quickstart":{"code":"const streamsql = require('streamsql');\nconst db = streamsql.connect({\n  driver: 'sqlite3',\n  filename: ':memory:'\n});\ndb.table('users', {\n  fields: ['id', 'name', 'email'],\n  primaryKey: 'id'\n});\nconst users = db.table('users');\nusers.put({ id: 1, name: 'Alice', email: 'alice@example.com' }, (err) => {\n  if (err) throw err;\n  users.get(1, (err, row) => {\n    if (err) throw err;\n    console.log(row);\n  });\n});","lang":"javascript","description":"Shows how to initialize streamsql with sqlite3, register a table, insert a row, and fetch it."},"warnings":[{"fix":"Consider using a maintained ORM like sequelize, knex, or objection.","message":"Package is deprecated with no updates since 2013.","severity":"deprecated","affected_versions":">=0.0.0"},{"fix":"Run npm install mysql or npm install sqlite3 in addition to streamsql.","message":"Database drivers must be installed separately; they are not included as dependencies.","severity":"breaking","affected_versions":">=0.0.0"},{"fix":"Use the returned db object directly; no need to wait for a connection event.","message":"The connect() method does not accept a callback; it returns the db object synchronously.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"You must manually run CREATE TABLE SQL using db.query() or an external tool.","message":"table() does not create the actual table in the database; it only registers a definition.","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"search_vec":"'0.8.5':15 '2013':73 'abstract':52 'agnost':6 'api':35 'auto':59 'auto-instal':58 'backend':5,51 'backend-agnost':4 'base':34 'createreadstream':48 'createwritestream':49 'crud':37 'current':63 'databas':40,61,80 'deprec':66 'differenti':43 'driver':29,62 'includ':44 'inspir':11 'instal':60 'interfac':47 'javascript':79 'key':42 'last':70 'latest':18 'levelup':13 'mainten':23 'mysql':26,83 'node.js':10 'note':54 'oper':38 'orm':8,86 'provid':30 'publish':71 'recent':77 'releas':20 'spars':22 'sql':7 'sqlite':85 'sqlite3':28,84 'stabl':19 'status':64 'stream':3,33,46,81,82 'stream-bas':32 'streamsql':1 'support':25 'tabl':41 'updat':78 'version':14","created_at":"2026-06-04T18:55:11.899958+00:00","updated_at":"2026-06-04T18:55:11.899958+00:00","problems":[{"fix":"Run: npm install mysql","cause":"MySQL driver not installed.","error":"Cannot find module 'mysql'"},{"fix":"Run: npm install sqlite3","cause":"SQLite3 driver not installed.","error":"Cannot find module 'sqlite3'"},{"fix":"Use db.table('name', definition) after calling streamsql.connect().","cause":"Using db.registerTable instead of db.table, or db is not initialized correctly.","error":"TypeError: db.table is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/brianloveswords/streamsql","github":"git://github.com/brianloveswords/streamsql","docs":null,"changelog":null,"pypi":null,"npm":"streamsql","openapi_spec":null,"status_page":null,"smithery":null,"categories":["database"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-04","next_check":"2026-09-02","install_tag":null}}