Magento2概念与知识点整理-数据库表解析之EAV

Magento数据库表概述

Magento数据表数量很大,在我们安装的M2各版本中,共大约有近400张左右的Table。
与传统的Mysql建表方式有所不同,Magento为了达到字段方便扩展,结构灵活,在部分业务场中使用了EAV模式的表结构

数据库EAV的含义

1.EAV的理解:Entity-Attribute-Value/(实体-属性-值)

  • 实体:包括要存储的数据类型的信息(客户,产品…)
  • 属性:是实体的属性(颜色,大小,高度…)
  • 值:是给定属性的值(蓝色,红色,…)

也就是说,在我们传统的一张表,以eav的方式实现时,会被横向拆分为多张数据表。
这样做的好处是:可以方便的扩展字段,自定义字段。
如,我们可以在magento的后台,为商品扩展属性字段,并指定该属性的值采用的类型,如text,select下拉,checkbox等。

magento中使用到EAV模式的场景
用户Customer相关的表:

 customer_entity
 customer_entity_datetime       
 customer_entity_decimal
 customer_entity_int 
 customer_entity_text
 customer_entity_varchar

客户地址相关表:

 customer_address_entity
 customer_address_entity_datetime
 customer_address_entity_decimal
 customer_address_entity_int
 customer_address_entity_text
 customer_address_entity_varchar

产品表:

 catalog_product_entity        
 catalog_product_entity_datetime  
 catalog_product_entity_decimal
 catalog_product_entity_gallery 
 catalog_product_entity_int 
 catalog_product_entity_media_gallery  
 catalog_product_entity_media_gallery_value
 catalog_product_entity_media_gallery_value_to_entity 
 catalog_product_entity_media_gallery_value_video 
 catalog_product_entity_text 
 catalog_product_entity_tier_price
 catalog_product_entity_varchar

分类表:

 catalog_category_entity
 catalog_category_entity_datetime
 catalog_category_entity_decimal
 catalog_category_entity_int
 catalog_category_entity_text

实体类型表:

eav_entity_int
eav_entity_varchar
eav_entity_text
eav_entity_decimal
eav_entity_datetime

PS: 我们在平时的开发中,需要对eav有一个大概的了解,这样在具体的业务逻辑中,才能清楚数据分布在了哪些表中。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
安装Magento 2需要一些步骤,下面是CentOS上安装Magento 2的简要介绍: 1. 安装必要的软件和依赖项: - 安装Apache服务器:`sudo yum install httpd` - 安装PHP及相关扩展:`sudo yum install php php-mysql php-gd php-xml php-mbstring php-intl php-opcache` 2. 配置Apache服务器: - 启动Apache服务:`sudo systemctl start httpd` - 设置Apache开机自启:`sudo systemctl enable httpd` - 配置防火墙允许HTTP和HTTPS流量:`sudo firewall-cmd --permanent --add-service=http` - 重新加载防火墙配置:`sudo firewall-cmd --reload` 3. 配置MySQL数据库: - 启动MySQL服务:`sudo systemctl start mariadb` - 设置MySQL开机自启:`sudo systemctl enable mariadb` - 运行MySQL安全脚本进行初始配置:`sudo mysql_secure_installation` 4. 创建Magento数据库和用户: - 登录MySQL控制台:`sudo mysql -u root -p` - 创建数据库:`CREATE DATABASE magento;` - 创建用户并授权:`CREATE USER 'magento'@'localhost' IDENTIFIED BY 'password';` - 授予用户权限:`GRANT ALL ON magento.* TO 'magento'@'localhost';` - 刷新权限:`FLUSH PRIVILEGES;` - 退出MySQL控制台:`EXIT;` 5. 下载并安装Magento 2: - 下载Magento 2安装包:`wget https://github.com/magento/magento2/archive/2.x.zip` - 解压安装包:`unzip 2.x.zip` - 将解压后的文件移动到Apache的网站目录:`sudo mv magento2-2.x /var/www/html/magento` - 设置文件权限:`sudo chown -R apache:apache /var/www/html/magento` - 进入Magento目录:`cd /var/www/html/magento` - 安装Magento 2依赖项:`composer install` 6. 配置Magento 2: - 在浏览器中访问服务器的IP地址或域名,进入Magento 2的安装向导。 - 根据向导提示,输入数据库信息和管理员账户信息。 - 完成安装向导后,生成Magento 2的配置文件。 7. 配置虚拟主机(可选): - 创建一个新的Apache虚拟主机配置文件:`sudo nano /etc/httpd/conf.d/magento.conf` - 添加以下内容到文件中(替换example.com为您的域名): ``` <VirtualHost *:80> ServerName example.com DocumentRoot /var/www/html/magento <Directory /var/www/html/magento> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost> ``` - 保存并关闭文件。 - 重新加载Apache配置:`sudo systemctl reload httpd` 这样,您就完成了在CentOS上安装Magento 2的过程。您可以通过访问服务器的IP地址或域名来访问Magento 2的后台管理界面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金哥铁码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值