Instalo el magento 2.3 y estoy creando un módulo personalizado.
Pero, no sé cómo crear una tabla de base de datos personalizada en la versión magento 2.3.
magento2.3
database-schema
Khandhar áspero
fuente
fuente
Respuestas:
En primer lugar, cree un
db_schema.xml
archivo dentro/RH/Helloworld/etc
y escriba el siguiente código:<table> .. </table>
= "Usar para crear y establecer el nombre de la tabla"<column> .. </column>
= "Usar para crear y establecer la columna de la tabla"<constraint> .. </constraint>
= "Usar para establecer restricciones como clave principal, clave externa, clave única, etc."Antes de ejecutar el comando de actualización, debe agregar su esquema al
db_whitelist_schema.json
archivo ejecutando el siguiente comando:Ahora, se
db_whitelist_schema.json
crearán archivos en la/RH/Helloworld/etc
carpeta.Ahora corre
php bin/magento s:up
La tabla se creará dentro de la base de datos.
=> Si desea cambiar el nombre de una columna, debe establecer la siguiente línea en la
db_schema.xml
columna correspondiente:aquí, name = "nombre de columna nueva" y onCreate = "migrateDataFrom ()" = "nombre de columna anterior"
=> Si desea soltar la tabla, puede eliminar todo el nodo de la tabla del archivo xml o puede establecer el atributo deshabilitado en verdadero como en la línea siguiente en su
db_schema.xml
:Para más detalles, puedes consultar aquí .
Espero que te sea útil.
fuente
Cree un archivo llamado db_schema.xml en la carpeta etc en cualquier módulo personalizado.
Ahora cree db_whitelist_schema.json en la misma ruta
Después de eso, simplemente ejecute php bin / magento setup: upgrade . Para más información puedes consultar aquí . Avísame en caso de que necesites más explicaciones sobre esto.
fuente
Los módulos principales de Magento 2.3 utilizaron un enfoque de esquema declarativo en lugar del script de actualización de configuración. Este es un nuevo enfoque recomendado en Magento 2.3 y superior. Magento 2.3.x todavía funciona con InstallSchema, InstallData, etc.
fuente