This section describes Skeema’s interactions with each type of database object, and other topics relating to Skeema’s features.
Database object types
The free open source Skeema Community Edition CLI supports declarative management of tables and routines (stored procedures and functions). It does not interact with other types of objects, such as views or triggers. Their presence won’t break anything; Skeema Community Edition will simply ignore them entirely.
Our paid products – Skeema Premium Edition CLI and Skeema Cloud Linter SaaS – include full support for managing views and triggers.
Sequences, which only exist in MariaDB, cannot be managed by Skeema yet. This may be added in the future if there is sufficient community interest.
Database users, privilege grants, and roles must be managed externally from Skeema. It is possible that Skeema may provide declarative diff support for these as a future direction, but not in the near term. Likewise, Skeema cannot currently manage global variables (database server configuration settings).
Object Type | Notes |
---|---|
Tables | Describes all edge cases with storage engines, foreign keys, compression, partitioning, etc |
Routines | Stored procedures and functions |
Views | Premium feature only |
Triggers | Premium feature only |
Events | Premium feature only (added in Skeema v1.12) |
Sequences (MariaDB) | Ignored by Skeema (not supported yet / must be managed externally) |
Users / grants / roles | Must be managed externally |
Global server variables | Must be managed externally |
Skeema features and additional topics
Feature | Description |
---|---|
Safety Checks | Adjusting linter options, unsafe modification detection, and diff verification |
Online Schema Change | Altering tables without disrupting query workloads |
Workspaces | Configuring the location of a temporary database for testing and introspecting CREATE statements |
Ignore Regex Options | Setting options to skip database objects by name pattern |
Seed Data | Tracking seed data INSERTs in your schema repo (Premium feature) |
Definers | Restricting or stripping DEFINER clauses in stored objects |
SSL/TLS Certificates | Using encrypted connections and configuring certificates |
SSH Tunnels | Configuring SSH tunnels through a bastion host, database server, or both (Premium feature) |
Sharding | Mapping a single schema subdirectory to multiple databases |