Cómo crear db_schema_whitelist.json en Magento 2

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.

🔥 Recomendado:  Cómo ofrecer envío gratis en Shopify para aumentar las ventas

Para crear db_schema_whitelist.json primero necesita crear un archivo

aplicación/código/vendedor/Módulo/etc/db_schema.xml

< nombre de la columna="descripción" xsi:tipo="texto" anulable="verdadero">

xsi:noNamespaceSchemaLocation=”urn:magento:framework:Configuración/Declaración/Esquema/etc/esquema.xsd”>

Ejecute el siguiente comando

configuración de php bin/magento: declaración-db:generar-lista-blanca –nombre-módulo=Módulo_proveedor

configuración de php bin/magento: declaración-db:generar-lista-blanca –nombre-módulo=Módulo_proveedor

Verifique su carpeta, etc., donde se genera db_schema_whitelist.json.

También puede consultar el documento oficial para obtener más detalles.

Eso es todo.

Cualquier duda sobre el tema se puede mencionar en la sección de Comentarios a continuación. Estaré encantado de ayudar.

No dude en compartir la solución con otros desarrolladores de Magento a través de las redes sociales.

Gracias.