AgentSkillsCN

waterline

在 Sails.js 中,运用 Waterline ORM 查询语言、模型定义、关联关系,以及数据访问模式。在 Sails.js 应用程序中编写、审查或调试 Waterline 查询、模型属性、关联关系、生命周期回调、校验规则,或任何与数据库交互的操作时,可使用此技能。

SKILL.md
--- frontmatter
name: waterline
description: >
  Waterline ORM query language, model definitions, associations, and data access patterns for Sails.js.
  Use this skill when writing, reviewing, or debugging Waterline queries, model attributes, associations,
  lifecycle callbacks, validations, or any database interaction in a Sails.js application.
metadata:
  author: sailscastshq
  version: '1.0.0'
  tags: waterline, sails, orm, database, query, models

Waterline ORM

Waterline is the datastore-agnostic ORM/ODM used by Sails.js. It provides a normalized API for interacting with any supported database (PostgreSQL, MySQL, MongoDB, SQLite, Redis) using a consistent query language.

When to Use

Use this skill when:

  • Defining Sails.js models (attributes, types, validations, associations)
  • Writing Waterline queries (find, create, update, destroy, count, etc.)
  • Using criteria objects with operators (contains, startsWith, in, nin, <, >, !=, or, and)
  • Setting up associations (one-to-one, one-to-many, many-to-many)
  • Handling query errors (.intercept(), .tolerate(), E_UNIQUE)
  • Working with transactions, streaming, aggregation, or collection manipulation
  • Configuring datastores and model settings

Rules

Read individual rule files for detailed explanations and code examples: