Créer un schéma MariaDB MSM initial

VérifiéSûr

Initialiser un projet MariaDB Schema Management (MSM) et rédiger la première version du schéma dans le dossier de développement via les outils msm.* du serveur MCP.

Spar Skills Guide Bot
Data & IAIntermédiaire
18/09/2026
Claude CodeCursorWindsurf
#mariadb#database-schema#sql#schema-migration#mcp

Recommandé pour

Synthèse automatique

Génère un projet MariaDB Schema Management (MSM) et rédige la première version du schéma dans le dossier de développement, en répartissant tables, objets et autorisations dans les sections du fichier <schema>_next.sql.

Points forts

  • Répartition explicite par section (140 pour les tables et données de base, 150 pour les objets idempotents, 170 pour les autorisations), ce qui préserve la logique création/mise à jour du script de déploiement.
  • Écriture via msm.set_section_sql_content, qui conserve intactes les bannières de section du fichier.
  • Scaffolding complet en un appel : projet .msm.project, script de développement en 0.0.1, dossiers releases/ et version initiale réglable.
  • Rappelle les contraintes concrètes qui cassent le déploiement : pas de DELIMITER en sections 140/170, CREATE OR REPLACE ou DROP IF EXISTS obligatoires en 150.

Limites

  • Suppose un serveur MCP mariadb-shell (outils msm.*) déjà configuré et une cible MariaDB 11.8.
  • Ne couvre que la création initiale : publication des versions, mises à jour et déploiement relèvent d'autres étapes du cycle MSM.
  • S'appuie sur le modèle de sections décrit dans la skill mariadb-schema-management, qu'il faut lire au préalable.
Quand l'utiliser

À utiliser au démarrage d'un nouveau schéma MariaDB versionné, pour créer le projet MSM et écrire le script de développement initial.

Quand l'éviter

À éviter pour modifier un schéma déjà publié, qui doit passer par les étapes de mise à jour et de publication du cycle MSM.

Analyse de sécurité

Sûr
Score qualité85/100

The skill provides guidance for scaffolding a MariaDB schema management project and writing DDL/DML via MCP tools. It does not instruct destructive commands, data exfiltration, or unsafe execution. SQL examples are benign and typical schema creation patterns.

Aucun point d'attention détecté

Comment cette analyse est faite

Exemples

Scaffold a new MSM project
Create a new MSM project for a schema called notes-app under ~/projects with the MIT license, then show me the project information and the sections of notes-app_next.sql.
Author tables and a view
In my notes-app MSM project, add a note table (id auto-increment primary key, title VARCHAR(255) NOT NULL, body MEDIUMTEXT) with a 'Welcome' seed row to section 140, and a note_titles view to section 150 that must be safe to re-run.
Set the first release version
Set the development version of my notes-app MSM project to 0.1.0 before we cut the first release.

name: mariadb-schema-management-create description: "Scaffold a MariaDB Schema Management (MSM) project and author the initial schema in the development folder — create the project with msm.create_project and write the first version's tables, objects and grants into the MSM sections of <schema>_next.sql. Use when starting a new versioned/maintainable MariaDB schema, creating an MSM schema project, or authoring the initial development script. Read mariadb-schema-management first for the section model."

MSM — Creating the Initial Schema

This is step 1 of the MSM lifecycle (see mariadb-schema-management for the overview and the full section model). Here you scaffold the project and author the first version of the schema in the development folder. Driven by the msm.* tools of the mariadb-shell MCP server. Assume MariaDB 11.8.

1. Scaffold the project

msm.create_project(
    schema_name="notes-app",
    target_path="<parent dir>",
    copyright_holder="...",   # optional
    license="MIT",            # optional: GPL-2.0 | MIT | BSD | None
)

This creates <schema>.msm.project/ with msm.project.json, the development/<schema>_next.sql working script (initial development version 0.0.1), and the empty releases/{versions,updates,deployment}/ folders. msm.get_project_information returns the schema name, versions and paths.

Do not add the standalone "Start Block" from mariadb-schema-create-script here — sections 010/920 already save and restore the server variables.

2. Author the schema into the right sections

Edit development/<schema>_next.sql by section, using msm.set_section_sql_content(file_path, section_id, sql_content) (and msm.get_sql_content_from_section to read one) so the section banners stay intact. Put each kind of object in the section that matches how MSM deploys it:

  • Section 140 — tables and base data (non-idempotent). CREATE TABLE and standard seed INSERTs only. This becomes a stored-procedure body in the deployment script, so write plain ;-terminated statements with no DELIMITER.

    CREATE TABLE `notes-app`.`note`(
        `id` INT AUTO_INCREMENT PRIMARY KEY,
        `title` VARCHAR(255) NOT NULL,
        `body` MEDIUMTEXT
    );
    
    INSERT INTO `notes-app`.`note`(`title`) VALUES ('Welcome');
    
  • Section 150 — all other objects (idempotent). VIEWs, PROCEDUREs, FUNCTIONs, TRIGGERs, EVENTs. This is emitted at top level with DELIMITER %%; every object must be safe to re-run, so use CREATE OR REPLACE or an explicit DROP ... IF EXISTS first.

    DELIMITER %%
    
    CREATE OR REPLACE SQL SECURITY INVOKER VIEW `notes-app`.`note_titles` AS
        SELECT `id`, `title` FROM `notes-app`.`note`%%
    
    DROP PROCEDURE IF EXISTS `notes-app`.`add_note`%%
    CREATE PROCEDURE `notes-app`.`add_note`(IN t VARCHAR(255))
    BEGIN
        INSERT INTO `notes-app`.`note`(`title`) VALUES (t);
    END%%
    
    DELIMITER ;
    
  • Section 170 — authorization. CREATE ROLE and GRANT. Also a stored-procedure body → plain ;-terminated statements, no DELIMITER.

  • Section 180 — optional REST endpoints (see mariadb-rest-service-create).

  • Sections 130 / 190 — creation helpers. Optional routines whose names must start msm_, defined in 130 and dropped in 190; use them for logic needed only while building the schema.

3. Set the initial version

The version lives in section 910 (the msm_schema_version view). Set it with:

msm.set_development_version(version="0.1.0")

Use whatever development version you intend to release first; MSM starts a fresh project at 0.0.1.

Guidelines

  • Only tables/data go in 140; everything else goes in 150 — mixing them breaks the deployment script's create/upgrade split.
  • Idempotent objects (150) must use CREATE OR REPLACE / DROP IF EXISTS.
  • Keep object definitions grouped and commented; once the file grows, split sections into SOURCE breakout files (see mariadb-schema-management-develop).
  • When the first version is ready, prepare a release (mariadb-schema-management-release).

See Also

  • mariadb-schema-management — lifecycle overview and full section model.
  • mariadb-schema-management-develop — evolving the schema and SOURCE breakout files.
  • mariadb-schema-management-release — preparing the first release.
  • mariadb-create-table, mariadb-create-view, mariadb-create-procedure, mariadb-create-function, mariadb-grant — the underlying DDL.

Du fichier au premier essai

Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.

Consulter la source et ses fichiers annexes

Ce téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.

1. Télécharger le fichier

Télécharger SKILL.md

Depuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/create-initial-mariadb-msm-schema-mu6guq1g/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.

Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.

mkdir -p '.skill-downloads/create-initial-mariadb-msm-schema-mu6guq1g' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/create-initial-mariadb-msm-schema-mu6guq1g/download' --output '.skill-downloads/create-initial-mariadb-msm-schema-mu6guq1g/SKILL.md.part' && mv '.skill-downloads/create-initial-mariadb-msm-schema-mu6guq1g/SKILL.md.part' '.skill-downloads/create-initial-mariadb-msm-schema-mu6guq1g/SKILL.md'

2. Vérifier les prérequis

Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.

Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.

Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.

3. Charger la skill

Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.

Claude Code
test -f '.skill-downloads/create-initial-mariadb-msm-schema-mu6guq1g/SKILL.md' && test -s '.skill-downloads/create-initial-mariadb-msm-schema-mu6guq1g/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/mariadb-schema-management-create' && cp -R '.skill-downloads/create-initial-mariadb-msm-schema-mu6guq1g' '.claude/skills/mariadb-schema-management-create'

Cursor
test -f '.skill-downloads/create-initial-mariadb-msm-schema-mu6guq1g/SKILL.md' && test -s '.skill-downloads/create-initial-mariadb-msm-schema-mu6guq1g/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/mariadb-schema-management-create' && cp -R '.skill-downloads/create-initial-mariadb-msm-schema-mu6guq1g' '.cursor/skills/mariadb-schema-management-create'

OpenSkills

OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.

Installation officielle d’OpenSkills
openskills install './.skill-downloads/create-initial-mariadb-msm-schema-mu6guq1g'

openskills read 'create-initial-mariadb-msm-schema-mu6guq1g'

La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.

Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.

openskills sync

Mode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.

4. Faire un premier essai

Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :

Lis .skill-downloads/create-initial-mariadb-msm-schema-mu6guq1g/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.

Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.

Skills similaires