A female engineer works on code in a contemporary office setting, showcasing software development.

Database CRUD Generator (WordPress)

Generador CRUD de BD (Tablas Personalizadas)

Este generador crea un stack CRUD completo para una tabla de base de datos personalizada de WordPress utilizando $wpdb: un instalador (dbDelta + actualizaciones versionadas), un repositorio (crear/leer/actualizar/eliminar/listar) y un controlador REST API opcional. Haga clic en Generar para obtener código listo para copiar y pegar.

Inicio rápido en 3 pasos
  1. Complete el formulario
  2. Haga clic en Generar (copia automática)
  3. Pegue en my-plugin.php, comprímalo, súbalo
  • Ideal para datos que no deben residir en wp_posts/wp_postmeta (registros, colas, tickets, picking, tablas de sincronización, etc.).
  • Incluye valores predeterminados seguros: lista blanca de columnas, consultas preparadas y verificaciones de actualización.
  • Siempre realice una copia de seguridad de su base de datos antes de implementar cambios en el esquema.
¿Qué es esto?
Se utiliza para construir nombres de clases y la base de la ruta REST.
Ejemplo: ticket → REST: /ticket, Clases PHP: Ticket_Repository
¿Qué es esto?
El sufijo del nombre de la tabla. El prefijo de WordPress se añade automáticamente mediante $wpdb->prefix.
Ejemplo: my_plugin_tickets → Tabla real: wp_my_plugin_tickets (o wp_2_... en multisitio)
¿Qué es esto?
El espacio de nombres de la API REST utilizado bajo /wp-json/{namespace}/...
Ejemplo: my-plugin/v1 → Base: /wp-json/my-plugin/v1/ticket
¿Qué es esto?
Los usuarios deben tener esta capacidad para crear/actualizar/eliminar mediante REST. Las lecturas son públicas por defecto.
Ejemplo: manage_options → Escrituras solo para administradores
¿Qué es esto?
Almacenada en wp_options para rastrear la versión del esquema instalado y ejecutar actualizaciones de forma segura.
Ejemplo: my_plugin_db_version → Utilizada por Installer::maybe_upgrade()
¿Qué es esto?
Constante utilizada como la “versión objetivo” para las actualizaciones del esquema (generalmente su constante de versión del plugin).
Ejemplo: MY_PLUGIN_VERSION → Cuando la versión cambia, las actualizaciones del esquema pueden ejecutarse
Columnas Añada sus columnas de tabla a continuación. El generador asegurará que exista una clave primaria id.
Nombre
Tipo SQL
Nulo
Predeterminado
Extra
Consejo: Después de generar, pegue el código en my-plugin.php, comprímalo y súbalo como un plugin. Siempre pruebe en un entorno de staging primero.

Working with custom database tables in WordPress often requires writing a lot of repetitive code: table creation with dbDelta(), versioning logic, upgrade routines, and basic CRUD operations using $wpdb.

The Database CRUD Generator helps you generate a clean, structured foundation for custom database tables, including dbDelta table creation, versioned upgrades, and CRUD helper methods, so you can focus on your business logic instead of boilerplate.


Why Use Custom Database Tables in WordPress?

While WordPress post types and meta tables work well for many use cases, some scenarios require custom tables for performance, structure, or scalability reasons, such as:

  • Large datasets or logs
  • Complex relationships
  • High-frequency writes
  • Reporting and analytics
  • Internal tools and integrations

Using custom tables gives you full control over schema design and query performance.


What This Database CRUD Generator Creates

This generator outputs developer-ready boilerplate that typically includes:

  • A dbDelta() SQL schema for table creation
  • Proper charset and collation handling
  • A table version constant
  • Activation hook logic
  • Upgrade logic when the table schema changes
  • A structured $wpdb helper class with:
    • create()
    • get()
    • get_all()
    • update()
    • delete()

The generated code follows WordPress best practices and can be pasted directly into your plugin.


dbDelta + Upgrade Logic

One of the most error-prone parts of custom tables is handling schema changes over time.

This generator includes:

  • A versioned table schema
  • Automatic upgrade logic triggered on plugin update
  • Safe use of dbDelta() to apply changes without dropping data

This makes it easier to maintain database changes across plugin versions.


How to Use the Database CRUD Generator

  1. Define your table name and database prefix usage.
  2. Add table columns and data types.
  3. Specify primary keys and indexes.
  4. Generate the code.
  5. Copy the generated output into your plugin.

The output is displayed in a readable code editor (CodeMirror) and can be copied instantly.


Best Practices When Using Custom Tables

  • Always use $wpdb->prepare() for dynamic queries.
  • Keep table schemas simple and well indexed.
  • Version your schema to support upgrades.
  • Avoid direct SQL in multiple places — centralize it in a helper class.
  • Test table creation and upgrades on staging environments.

Who Is This Tool For?

The Database CRUD Generator is intended for:

  • WordPress plugin developers
  • Teams building internal tools
  • Projects requiring structured or high-volume data storage
  • Developers who want consistent and maintainable database code

If you find yourself repeatedly writing dbDelta() logic and CRUD helpers, this tool can save you significant time.