Command Line Tools
wheels destroy
wheels destroy
Section titled “wheels destroy”Remove generated code and files associated with a model, controller, views, and tests.
Synopsis
Section titled “Synopsis”wheels destroy <name>wheels d <name>CommandBox Parameter Syntax
Section titled “CommandBox Parameter Syntax”This command supports multiple parameter formats:
- Positional parameters:
wheels destroy user(resource name as positional) - Named parameters:
name=value(e.g.,name=user)
Parameter Mixing Rules:
ALLOWED:
- Positional:
wheels destroy user - Named:
wheels destroy name=user
NOT ALLOWED:
- Positional + named for same parameter:
wheels destroy user name=other
Recommendation: Use positional parameter for simplicity: wheels destroy user
Note: This command always prompts for confirmation before proceeding. There is no --force flag to skip confirmation.
Description
Section titled “Description”The wheels destroy command removes all files and code associated with a resource that was previously generated. It’s useful for cleaning up mistakes or removing features completely. This command will also drop the associated database table and remove resource routes.
Arguments
Section titled “Arguments”| Argument | Description | Required |
|---|---|---|
name | Name of the resource to destroy | Yes |
Options
Section titled “Options”This command has no additional options. It always prompts for confirmation before proceeding.
What Gets Removed
Section titled “What Gets Removed”When you destroy a resource, the following items are deleted:
- Model file (
/app/models/[Name].cfc) - Controller file (
/app/controllers/[Names].cfc) - Views directory (
/app/views/[names]/) - Model test file (
/tests/specs/models/[Name].cfc) - Controller test file (
/tests/specs/controllers/[Names].cfc) - View test directory (
/tests/specs/views/[names]/) - Resource route entry in
/config/routes.cfm - Database table (if confirmed)
Examples
Section titled “Examples”Basic destroy
Section titled “Basic destroy”# Positional (recommended)wheels destroy user
# OR namedwheels destroy name=user
# OR alias (positional)wheels d userThis will prompt this along with a confirmation:
================================================== Watch Out!==================================================This will delete the associated database table 'users', andthe following files and directories:
/app/models/User.cfc/app/controllers/Users.cfc/app/views/users//tests/specs/models/User.cfc/tests/specs/controllers/Users.cfc/tests/specs/views/users//config/routes.cfm.resources("users")
Are you sure? [y/n]Safety Features
Section titled “Safety Features”- Confirmation: Always asks for confirmation before proceeding
- Shows All Changes: Lists all files and directories that will be deleted
- Database Migration: Creates and runs a migration to drop the table
- Route Cleanup: Automatically removes resource routes from routes.cfm
Best Practices
Section titled “Best Practices”- Commit First: Always commit your changes before destroying
- Review Carefully: Read the confirmation list carefully
- Check Dependencies: Make sure other code doesn’t depend on what you’re destroying
- Backup Database: Have a database backup before running in production
Common Workflows
Section titled “Common Workflows”Undo a generated resource
Section titled “Undo a generated resource”# Generated the wrong namewheels generate resource prduct # Oops, typo!wheels destroy prduct # Remove itwheels generate resource product # Create correct oneClean up after experimentation
Section titled “Clean up after experimentation”# Try out a featurewheels generate scaffold blog_post title:string,content:text# Decide you don't want itwheels destroy blog_postImportant
Section titled “Important”- Cannot be undone - files are permanently deleted
- Database table is dropped via migration
- Resource routes are automatically removed from routes.cfm
- Only works with resources that follow Wheels naming conventions
See Also
Section titled “See Also”- wheels generate resource - Generate resources
- wheels generate scaffold - Generate scaffolding
- wheels dbmigrate remove table - Remove database tables