{"id":46312,"library":"schemaless-sqlite","title":"Schemaless SQLite ORM","description":"A TypeScript ORM for SQLite that eliminates schema definitions by automatically creating tables and columns on-the-fly. v0.0.1 is the current stable release. Key differentiators: zero-configuration dynamic schema, automatic UUID primary keys, managed timestamps (createdAt, updatedAt, deletedAt), soft delete, native boolean/Date/JSON type support, and runtime column management. Suitable for rapid prototyping and dynamic data shapes where traditional ORM migrations are overhead.","status":"active","version":"0.0.1","language":"javascript","source_language":"en","source_url":"https://github.com/eralvarez/schemaless-sqlite","tags":["javascript","sqlite","schemaless","typescript"],"install":[{"cmd":"npm install schemaless-sqlite","lang":"bash","label":"npm"},{"cmd":"yarn add schemaless-sqlite","lang":"bash","label":"yarn"},{"cmd":"pnpm add schemaless-sqlite","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Required for synchronous SQLite database access","package":"better-sqlite3","optional":false},{"reason":"Used for generating UUID v4 primary keys","package":"uuid","optional":false}],"imports":[{"note":"Named export only; default export does not exist.","wrong":"import SqliteOrm from 'schemaless-sqlite'","symbol":"SqliteOrm","correct":"import { SqliteOrm } from 'schemaless-sqlite'"}],"quickstart":{"code":"import { SqliteOrm } from 'schemaless-sqlite';\n\nconst db = new SqliteOrm('test.db');\n\nasync function main() {\n  // Create a record (table auto-created)\n  const result = await db.create('users', {\n    name: 'Alice',\n    email: 'alice@example.com',\n    age: 30,\n    isActive: true,\n  });\n\n  if (result.success && result.data) {\n    console.log('Created user with ID:', result.data.id);\n    console.log('Created at:', result.data.createdAt);\n  }\n\n  // Find active users\n  const users = await db.find('users', {\n    filter: { isActive: { eq: true } },\n    orderBy: { age: 'desc' },\n    limit: 10,\n  });\n  console.log('Active users:', users.data);\n\n  db.close();\n}\n\nmain().catch(console.error);","lang":"typescript","description":"Demonstrates basic CRUD operations: create, find with filters, and database close."},"warnings":[{"fix":"Call `db.hardDelete('table', id)` if you need to permanently remove a record. Check API documentation for method availability.","message":"The ORM uses soft delete by default. The `delete()` method sets `deletedAt` instead of removing the row. Use `hardDelete()` for permanent removal if available.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Use lowercase filter operators: `{ age: { gte: 18 } }` not `{ age: { GTE: 18 } }`.","message":"Filter operators case sensitivity: operators are lowercase (eq, ne, gt, gte, lt, lte). Using uppercase may silently fail or throw an error.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Always check `result.data` existence after calling `findOne`.","message":"The `findOne` method returns `null` if no record found, but the return type may be `{ success: boolean; data?: Record }` in some versions – check your version.","severity":"deprecated","affected_versions":">=0.0.0"},{"fix":"Review the full TypeScript definition file or source code for correct method signatures before using column management.","message":"Column management methods like `renameColumn` or `deleteColumn` may not be documented in the README but exist in the TypeScript types. Using them incorrectly can corrupt schema.","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"search_vec":"'automat':14,36 'boolean/date/json':48 'column':18,53 'configur':33 'creat':15 'createdat':42 'current':26 'data':61 'definit':12 'delet':46 'deletedat':44 'differenti':30 'dynam':34,60 'elimin':10 'fli':22 'javascript':69 'key':29,39 'manag':40,54 'migrat':66 'nativ':47 'on-the-fli':19 'orm':3,6,65 'overhead':68 'primari':38 'prototyp':58 'rapid':57 'releas':28 'runtim':52 'schema':11,35 'schemaless':1,71 'shape':62 'soft':45 'sqlite':2,8,70 'stabl':27 'suitabl':55 'support':50 'tabl':16 'timestamp':41 'tradit':64 'type':49 'typescript':5,72 'updatedat':43 'uuid':37 'v0.0.1':23 'zero':32 'zero-configur':31","created_at":"2026-06-07T12:59:18.979186+00:00","updated_at":"2026-06-07T12:59:18.979186+00:00","problems":[{"fix":"Change import to: `import { SqliteOrm } from 'schemaless-sqlite'`","cause":"Import error: using default import instead of named import.","error":"TypeError: db.create is not a function"},{"fix":"Ensure `npm install schemaless-sqlite` and TypeScript is configured with `\"esModuleInterop\": true` if needed. Check that package type declarations are properly resolved.","cause":"Missing or incorrect TypeScript configuration or module resolution.","error":"Cannot find name 'SqliteOrm'"}],"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/eralvarez/schemaless-sqlite#readme","github":"https://github.com/eralvarez/schemaless-sqlite","docs":null,"changelog":null,"pypi":null,"npm":"schemaless-sqlite","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-07","next_check":"2026-09-05","install_tag":null}}