{"id":40854,"library":"drizzle-sybase","title":"Drizzle Sybase (ASE driver for Drizzle ORM)","description":"Native Node.js driver for Sybase ASE databases, built as a Drizzle ORM integration using FreeTDS via N-API. Current version 1.1.0 (pre-release candidate) targets Node >=24 and requires drizzle-orm ^1.0.0-rc.2. Differentiates from other Sybase drivers by providing typed ORM interfaces with Drizzle's query builder and migration tools. Release cadence is irregular; development is active but pre-1.0.","status":"active","version":"1.1.0","language":"javascript","source_language":"en","source_url":"https://github.com/cjnoname/drizzle-sybase","tags":["javascript","ase","database","drizzle","freetds","napi","native","orm","sybase","typescript"],"install":[{"cmd":"npm install drizzle-sybase","lang":"bash","label":"npm"},{"cmd":"yarn add drizzle-sybase","lang":"bash","label":"yarn"},{"cmd":"pnpm add drizzle-sybase","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency required to use Drizzle's query builder and schema definitions.","package":"drizzle-orm","optional":false},{"reason":"Required to compile the native FreeTDS bindings during installation if prebuilt binaries are unavailable.","package":"@napi-rs/cli","optional":true}],"imports":[{"note":"ESM-only; CommonJS require will fail because the package is type:module.","wrong":"const { drizzle } = require('drizzle-sybase')","symbol":"drizzle","correct":"import { drizzle } from 'drizzle-sybase'"},{"note":"Named export for creating the client instance. Not a default export.","symbol":"SybaseClient","correct":"import { SybaseClient } from 'drizzle-sybase'"},{"note":"DrizzleConfig is a TypeScript type, not a runtime value. Use 'import type' to avoid tree-shaking issues.","wrong":"import { DrizzleConfig } from 'drizzle-sybase'","symbol":"DrizzleConfig","correct":"import type { DrizzleConfig } from 'drizzle-sybase'"}],"quickstart":{"code":"import { drizzle } from 'drizzle-sybase';\nimport { SybaseClient } from 'drizzle-sybase';\n\nconst client = new SybaseClient({\n  host: process.env.SYBASE_HOST ?? 'localhost',\n  port: Number(process.env.SYBASE_PORT ?? 5000),\n  database: process.env.SYBASE_DB ?? 'mydb',\n  user: process.env.SYBASE_USER ?? 'sa',\n  password: process.env.SYBASE_PASSWORD ?? '',\n});\n\nconst db = drizzle(client);\n\nasync function main() {\n  const result = await db.execute('SELECT 1 AS value');\n  console.log(result.rows);\n}\n\nmain().catch(console.error).finally(() => client.end());","lang":"typescript","description":"Connects to Sybase ASE via Drizzle ORM, runs a query, and logs the result."},"warnings":[{"fix":"Upgrade Node.js to 24 or later.","message":"Node.js >=24 is required. Older versions will fail with a syntax error or missing API.","severity":"breaking","affected_versions":"<24"},{"fix":"Use import syntax or switch to a dynamic import() call.","message":"The package uses ESM exclusively. CommonJS require() will throw ERR_REQUIRE_ESM.","severity":"breaking","affected_versions":">=1.0"},{"fix":"Provide all essential fields (host, port, database, user, password) even if types say optional.","message":"The 'SybaseClient' constructor options object has partial type narrowing; some properties may be marked optional incorrectly. This will be fixed in a future release.","severity":"deprecated","affected_versions":"<=1.1.0"},{"fix":"Install FreeTDS via system package manager (apt, brew) or use --build-from-source with @napi-rs/cli.","message":"FreeTDS must be installed on the system or prebuilt binaries must be available. Otherwise, installation will fail during native compilation.","severity":"gotcha","affected_versions":">=0.1.0"}],"env_vars":null,"search_vec":"'-1.0':71 '1.0.0':42 '1.1.0':29 '24':36 'activ':68 'api':26 'ase':3,13,73 'builder':58 'built':15 'cadenc':63 'candid':33 'current':27 'databas':14,74 'develop':66 'differenti':44 'driver':4,10,48 'drizzl':1,6,18,40,55,75 'drizzle-orm':39 'freetd':22,76 'integr':20 'interfac':53 'irregular':65 'javascript':72 'migrat':60 'n':25 'n-api':24 'napi':77 'nativ':8,78 'node':35 'node.js':9 'orm':7,19,41,52,79 'pre':31,70 'pre-releas':30 'provid':50 'queri':57 'rc.2':43 'releas':32,62 'requir':38 'sybas':2,12,47,80 'target':34 'tool':61 'type':51 'typescript':81 'use':21 'version':28 'via':23","created_at":"2026-06-04T18:49:35.260863+00:00","updated_at":"2026-06-04T18:49:35.260863+00:00","problems":[{"fix":"Run 'npm install drizzle-sybase drizzle-orm' and ensure you use import syntax (e.g., import { drizzle } from 'drizzle-sybase').","cause":"Package not installed or incorrect import path (e.g., using require instead of import).","error":"Error: Cannot find module 'drizzle-sybase'"},{"fix":"Call client.end() only after you have used the client. Ensure client is created with new SybaseClient(config). Consider using try-finally block.","cause":"SybaseClient instance not correctly initialized or connection already closed.","error":"TypeError: client.end is not a function"},{"fix":"Set rejectUnauthorized: false in the client config (not recommended for production) or provide the correct CA certificate via ca option.","cause":"Sybase server uses a self-signed SSL certificate, and the client does not trust it by default.","error":"Error: self-signed certificate in certificate chain"}],"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/cjnoname/drizzle-sybase#readme","github":"https://github.com/cjnoname/drizzle-sybase","docs":null,"changelog":null,"pypi":null,"npm":"drizzle-sybase","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}}