Estás leyendo la publicación: Cómo crear db_schema_whitelist.json en Magento 2
Con el lanzamiento de Magento 2.3, se introdujo el esquema declarativo para facilitar el proceso de instalación y actualización.
Los archivos de esquema declarativo declaran cuál debería ser la estructura de la base de datos. Magento determina las diferencias entre la estructura de la tabla actual y lo que debería ser.
El archivo db_schema_whitelist.json es un historial de todas las tablas, columnas y claves agregadas con el esquema declarativo. Se puede generar manualmente o crear db_schema_whitelist.json en Magento 2 usando el siguiente método:
Método para crear db_schema_whitelist.json en Magento 2:
El archivo Db_schema_whitelist se puede crear automáticamente con el siguiente comando:
php bin/magento setup:db-declaration:generate-whitelist –module-name=YourModule_Name
php bin/magento setup:db-declaration:generate-whitelist –module-name=YourModule_Name |
Si no se especifica el nombre del módulo, el comportamiento predeterminado es generar una lista blanca para todos los módulos de un sistema. Puede establecer opciones como:nombre-módulo = todos para todo el módulo.
El módulo utiliza un esquema declarativo y se utiliza para configurar los scripts del módulo.
Declare la columna de la tabla usando el archivo db_schema.
Suponga que tiene dos columnas llamadas Id y foo. Cuando configuración: actualizar se ejecuta, se creará la tabla. Después de eso, debe agregar una columna adicional denominada barra.
Por ejemplo, $tabla->addColumn(‘pedido de venta’,’barra’)
ahora corre configuración: actualizar.
Ahora el esquema declarativo se evalúa nuevamente y se compara nuevamente con la base de datos existente. El esquema declarativo se da cuenta de que hay una nueva columna adicional.
Por lo general, eliminaría la columna del archivo db_schema y también debe eliminarla de la base de datos.
Pero esa es una suposición incorrecta, es por eso que db_shema_whitelist entra en su lugar.
Para crear db_schema_whitelist.json primero necesita crear un archivo
aplicación/código/vendedor/Módulo/etc/db_schema.xml