Flyway
The Flyway lexicon provides typed constructors for Flyway v10+ TOML configuration files. It covers projects, environments, resolvers, provisioners, placeholders, callbacks, and database-specific settings.
Install it with:
npm install --save-dev @intentius/chant-lexicon-flywayQuick Start
Section titled “Quick Start”import { FlywayProject, FlywayConfig, Environment } from "@intentius/chant-lexicon-flyway";
export const project = new FlywayProject({ id: "my-project", name: "my-project", databaseType: "postgresql",});
export const config = new FlywayConfig({ locations: ["filesystem:sql/migrations"], defaultSchema: "public", encoding: "UTF-8", validateMigrationNaming: true, cleanDisabled: true,});
export const dev = new Environment({ url: "jdbc:postgresql://localhost:5432/devdb", user: "dev_user", password: "dev_pass", schemas: ["public"], displayName: "dev",});The lexicon provides 5 resource types (FlywayProject, FlywayConfig, Environment, FlywayDesktopConfig, RedgateCompareConfig), 20 property types (resolvers, provisioners, database configs), and composites (StandardProject, MultiEnvironmentProject, VaultSecuredProject, DesktopProject, environmentGroup) for common patterns.
Lint Rules
Section titled “Lint Rules”chant includes lint rules for Flyway config. For example:
- Hardcoded credentials in environment configs
- Production environments with clean enabled
- Missing schema definitions
- Unresolved resolver references
- Invalid callback event names
See Lint Rules for the full list.
At a Glance
Section titled “At a Glance”| Metric | Count |
|---|---|
| Resources | 5 |
| Property types | 20 |
| Services | 2 |
| Intrinsic functions | 3 |
| Pseudo-parameters | 8 |
| Lint rules | 20 |
Lexicon version: 0.0.22
Namespace: Flyway
- Flyway Concepts
- Lint Rules
- Examples
- Composites
- Getting Started
- Importing TOML
- Skills
- Intrinsic Functions — 3 built-in functions
- Pseudo-Parameters — 8 pseudo-parameters
- Serialization — output format details