{"id":40853,"library":"drizzle-snowflake","title":"drizzle-snowflake","description":"Drizzle ORM driver for Snowflake, version 0.1.13, released as a stable library with weekly updates. It integrates Snowflake's JDBC-like connection with Drizzle's type-safe query builder, supporting standard and Snowflake-specific column types (VARIANT, ARRAY, GEOGRAPHY). Built on the official snowflake-sdk, it offers both async (pooled) and sync (single connection) modes. Differentiators include full Drizzle ORM compatibility, semi-structured data support, and a standalone dialect module.","status":"active","version":"0.1.13","language":"javascript","source_language":"en","source_url":"https://github.com/cliftonc/drizzle-snowflake","tags":["javascript","drizzle","snowflake","typescript"],"install":[{"cmd":"npm install drizzle-snowflake","lang":"bash","label":"npm"},{"cmd":"yarn add drizzle-snowflake","lang":"bash","label":"yarn"},{"cmd":"pnpm add drizzle-snowflake","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency: required for ORM operations, >=0.40.0","package":"drizzle-orm","optional":false},{"reason":"Peer dependency: underlying Snowflake client, >=1.6.0","package":"snowflake-sdk","optional":false}],"imports":[{"note":"Named export, not default. The function is async when using connection config.","wrong":"import drizzle from 'drizzle-snowflake'","symbol":"drizzle","correct":"import { drizzle } from 'drizzle-snowflake'"},{"note":"Use snowflakeTable for Snowflake-specific table definitions.","wrong":"import { table } from 'drizzle-snowflake'","symbol":"snowflakeTable","correct":"import { snowflakeTable } from 'drizzle-snowflake'"},{"note":"Used only when passing an explicit client instance.","wrong":null,"symbol":"promisifyConnect","correct":"import { promisifyConnect } from 'drizzle-snowflake'"}],"quickstart":{"code":"import { drizzle, snowflakeTable, integer, varchar, text } from 'drizzle-snowflake';\nimport { eq } from 'drizzle-orm';\n\nconst users = snowflakeTable('users', {\n  id: integer('id').notNull(),\n  name: varchar('name', { length: 256 }).notNull(),\n  email: text('email'),\n});\n\nconst db = await drizzle({\n  connection: {\n    account: process.env.SNOWFLAKE_ACCOUNT ?? '',\n    username: process.env.SNOWFLAKE_USER ?? '',\n    password: process.env.SNOWFLAKE_PASSWORD ?? '',\n    database: 'MY_DB',\n    warehouse: 'COMPUTE_WH',\n    schema: 'PUBLIC',\n  },\n});\n\nawait db.insert(users).values({ id: 1, name: 'Alice', email: 'alice@example.com' });\nconst rows = await db.select().from(users).where(eq(users.name, 'Alice'));\nconsole.log(rows);\nawait db.close();","lang":"typescript","description":"Connects to Snowflake, defines a table, inserts a row, queries it, and closes the connection."},"warnings":[{"fix":"Use await drizzle({ connection: { ... } }) or handle the promise.","message":"drizzle() is async when passing connection config as of v0.1.0+","severity":"breaking","affected_versions":">=0.1.0"},{"fix":"Use db.execute(sql`INSERT ... SELECT PARSE_JSON(${JSON.stringify(data)})`)","message":"VARIANT columns need PARSE_JSON() for inserts; direct string insertion fails","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Use default pooling (e.g., { pool: { size: 4 } }) for production.","message":"pool: false requires single connection; not for production with high concurrency","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Upgrade to >=0.1.0 and add await.","message":"Older versions (<0.1.0) used drizzle({ connection }) synchronously","severity":"deprecated","affected_versions":"<0.1.0"}],"env_vars":null,"search_vec":"'0.1.13':10 'array':44 'async':56 'builder':34 'built':46 'column':41 'compat':68 'connect':26,61 'data':72 'dialect':77 'differenti':63 'driver':6 'drizzl':2,4,28,66,80 'drizzle-snowflak':1 'full':65 'geographi':45 'includ':64 'integr':20 'javascript':79 'jdbc':24 'jdbc-like':23 'librari':15 'like':25 'mode':62 'modul':78 'offer':54 'offici':49 'orm':5,67 'pool':57 'queri':33 'releas':11 'safe':32 'sdk':52 'semi':70 'semi-structur':69 'singl':60 'snowflak':3,8,21,39,51,81 'snowflake-sdk':50 'snowflake-specif':38 'specif':40 'stabl':14 'standalon':76 'standard':36 'structur':71 'support':35,73 'sync':59 'type':31,42 'type-saf':30 'typescript':82 'updat':18 'variant':43 'version':9 'week':17","created_at":"2026-06-04T18:49:35.192776+00:00","updated_at":"2026-06-04T18:49:35.192776+00:00","problems":[{"fix":"Run: npm install drizzle-snowflake drizzle-orm snowflake-sdk","cause":"Missing installation or wrong import path","error":"Error: Cannot find module 'drizzle-snowflake'"},{"fix":"Change to: import { drizzle } from 'drizzle-snowflake'","cause":"Default import used instead of named import","error":"TypeError: drizzle is not a function"},{"fix":"Verify SNOWFLAKE_ACCOUNT includes org and account name (e.g., 'orgname-accountname')","cause":"Invalid credentials or network issue","error":"Snowflake: Client connection failed. Check account, username, password."}],"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/cliftonc/drizzle-snowflake#readme","github":"https://github.com/cliftonc/drizzle-snowflake","docs":null,"changelog":null,"pypi":null,"npm":"drizzle-snowflake","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}}