Hacemos una revisión profunda cada uno de los artículos en nuestro sitio web con el objetivo de enseñarte en todo momento información más veraz y actualizada.
Solución:
hook_schema()
no se usa de manera diferente a cómo se usó en Drupal 7, la única diferencia es que no se usa para crear tablas de bases de datos para entidades. (Véase, por ejemplo, node_schema()
.) En particular, no necesita llamar drupal_install_schema()
) en hook_install()
para crear tablas de bases de datos personalizadas, lo que en cambio era necesario en Drupal 6.
Los archivos .schema.yml (por ejemplo, user.schema.yml) se utilizan para definir el esquema para la configuración utilizada en los archivos de configuración del módulo. Su propósito es diferente de definir un esquema de tabla de base de datos, y no se pueden usar para definir tablas personalizadas usadas de módulos de terceros.
Para una tabla de base de datos, utiliza hook_schema
para definirlo y si el módulo ya existe, puede usar hook_update
para crear la tabla manualmente, ya que hook_schema solo se activa durante la instalación.
Todo esto es como usted describe.
La configuración del esquema no se usa para crear tablas de base de datos, sino que se usa para definir el esquema de configuraciones. Básicamente, lo usa para explicar la estructura de configuraciones que guardará su módulo, tipos de datos, etc. No sé qué usa realmente esto, ya que la mayoría de las cosas funcionarán sin él.
Los dos ‘esquemas’ tienen diferentes contextos.
Su afirmación de crear tablas de base de datos es correcta.
Los archivos schema.yml tienen otro propósito. De los documentos:
Usando el conocimiento integrado en los esquemas de configuración sobre lo que se almacena de una entidad de configuración, la implementación de persistencia predeterminada para las entidades de configuración requiere un esquema de configuración para la entidad de configuración, por lo que las propiedades correctas se exportan con los tipos definidos. Aunque es mejor proporcionar esquemas de configuración, si realmente no lo desea, implemente el método toArray() en la implementación de su entidad de configuración para no requerir un esquema para guardar entidades de configuración de su tipo.
Y esa es solo una de las razones. Consulte: https://www.drupal.org/docs/8/api/configuration-api/configuration-schemametadata#use
Acuérdate de que tienes permiso de agregar una reseña si te fue de ayuda.