Database design 设计和规划模块

Database design 设计和规划模块,database-design,magento-1.7,Database Design,Magento 1.7,我正处于为magento创建新模块的计划阶段。这将是我的第一个magento项目,虽然我不想让它变得复杂,但我想尝试并坚持最佳实践,这就引出了这个问题 我将创建的模块是一个新闻通讯工具,用户可以编辑各种选项。该项目将满足以下标准: 允许用户注册新闻稿 要注册,您不必是该网站的成员 允许自动设置各种首选项 允许用户编辑设置的首选项 在注册时识别用户所在的国家/地区 我的第一个想法是在不考虑任何现有模块的情况下创建模块,并添加两个表来存储用户详细信息和首选项。我已经决定,这不是最好的主意,并假设

我正处于为magento创建新模块的计划阶段。这将是我的第一个magento项目,虽然我不想让它变得复杂,但我想尝试并坚持最佳实践,这就引出了这个问题

我将创建的模块是一个新闻通讯工具,用户可以编辑各种选项。该项目将满足以下标准:

  • 允许用户注册新闻稿
  • 要注册,您不必是该网站的成员
  • 允许自动设置各种首选项
  • 允许用户编辑设置的首选项
  • 在注册时识别用户所在的国家/地区
我的第一个想法是在不考虑任何现有模块的情况下创建模块,并添加两个表来存储用户详细信息和首选项。我已经决定,这不是最好的主意,并假设它可以更好地利用通讯模块

使用原始sql添加首选项选项是否可以接受?显然,我必须:

  • 在users to表中添加两列以链接首选项和用户
  • 添加一个列,以确定是否有会员或只有新闻稿订户
  • 为用户首选项添加一个表
这让我怀疑,玩核心表是否是一种糟糕的做法(我想是这样的)

我的主要问题是:

  • 我可以在Magento研究/利用什么来完成第一个项目,而不会变得复杂

添加列时,不会影响任何功能。当对表进行某些更改时,功能会受到影响

我认为最好的做法是 1) 添加详细信息列 2) 覆盖新闻通讯模块中的新建操作 3) 相应地更改phtml 4) 此外,该模型还发挥作用


希望一切正常

关于数据库列,我会在升级时丢失这些更改吗?不会,您不会在升级时丢失这些更改。Magento仅升级核心文件夹。所以,您将拥有一个扩展核心模块的本地模块。在那里,您还可以使用数据库升级。因此,升级不会有任何更改…如果您想了解有关安装和升级脚本的更多详细信息,请检查此项,如果您面临更多问题,请询问。谢谢