Add a table to db_schema.xml
add-db-schemaGenerates an Adobe Commerce etc/db_schema.xml table definition with columns, keys, indexes, and whitelist/setup:upgrade steps, then returns the file for the caller to write.
Instructions
Generate a declarative schema etc/db_schema.xml table with columns, primary key, unique constraints, foreign keys and indexes, adapted from the official declarative schema docs, plus the whitelist and setup:upgrade steps. Returns the file for the caller to write.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| table | Yes | Table name (e.g. "acme_review") | |
| engine | No | SQL engine, default "innodb" | |
| module | Yes | Module name as Vendor_Module (e.g. "Acme_Reviews"), as registered in registration.php | |
| unique | No | Unique constraints, each a list of columns | |
| columns | No | Columns. Without columns the table gets an entity_id int unsigned identity primary key. | |
| comment | No | Table comment | |
| indexes | No | ||
| basePath | No | Module directory relative to the Commerce root (default "app/code/<Vendor>/<Module>") | |
| resource | No | Database resource (shard), default "default" | |
| primaryKey | No | Primary key columns (default: the identity column) | |
| foreignKeys | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| files | Yes | Files to write. The server never writes to disk. | |
| notes | Yes | Next steps and caveats |