Registry / database / waterline-schema

waterline-schema

JSON →
library1.0.0jsnpmunverified

The core schema builder used in the Waterline ORM for Sails.js. Version 1.0.0 is stable. Extracts and normalizes model attributes, associations, and auto-migrations from model definitions. Differentiator: tightly coupled with Waterline ORM, not standalone; handles polymorphic associations and cross-module references. No recent releases; considered maintenance mode.

npm install waterline-schema
INSTALL
IMPORT
SIG · WATERLINE-SCHEMA
W
waterline-schema
databasejavascriptv1.0.0
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

WaterlineSchema
import WaterlineSchema from 'waterline-schema'
Default export. CJS: const WaterlineSchema = require('waterline-schema').
getSchema
import { getSchema } from 'waterline-schema'
const getSchema = require('waterline-schema').getSchema
Named export. CJS require destructures from default export.
WaterlineSchema
const WaterlineSchema = require('waterline-schema')
import WaterlineSchema from 'waterline-schema'
CJS pattern. ESM works but CJS is common in Sails ecosystem.

Shows building a schema from model definitions with Waterline Schema.

const WaterlineSchema = require('waterline-schema'); const schemas = { user: { identity: 'user', attributes: { id: { type: 'integer', autoIncrement: true, primaryKey: true }, name: { type: 'string' }, email: { type: 'string', required: true } } } }; const schemaBuilder = new WaterlineSchema(schemas, {}); const schema = schemaBuilder.schema(); console.log(JSON.stringify(schema, null, 2));
Debug
Known issues
breakingVersion 1.0.0 drops support for Node.js < 6.
fix
Upgrade Node.js to version >= 6.
affects: >=1.0.0
deprecatedThe entire waterline-schema is deprecated in favor of Waterline's built-in schema handling.
fix
Use Waterline's model definitions directly without manually constructing waterline-schema.
affects: >=1.0.0
gotchaSchema builder expects model definitions in a specific format; mismatched keys cause silent failures.
fix
Ensure model definitions follow Waterline conventions with identity and attributes.
affects: >=0.10.0
gotchaPolymorphic associations require explicit 'via' key; otherwise schema may be incomplete.
fix
Add 'via' to polymorphic association definitions.
affects: >=0.10.0
Errors
Common errors & fixes
TypeError: Cannot read property 'attributes' of undefined
Model definitions passed as array instead of object keyed by identity.
fix
Pass schemas as an object with identity as keys: { user: { identity: 'user', attributes: {...} } }
Error: Invalid schema: missing primary key
No attribute marked as primaryKey: true.
fix
Add primaryKey: true to one attribute (e.g., id).
Error: Unknown attribute type: 'text'
Type 'text' is not recognized; schema expects specific types like 'string' or 'text' via adapter.
fix
Use valid attribute type (string, integer, float, boolean, datetime, binary, json).
Upgrade
Version history
1.0.0latest on npm
Audit
Dependencies

No dependency data recorded yet.

Agent activity
17 hits · last 30 days
node
12
Meta
2
OpenAI (training)
1
Resources
waterline-schema — npm install waterline-schema · libregistry