【问题标题】:Is it safe to add extra-fields to standard PrestaShop tables?向标准 PrestaShop 表添加额外字段是否安全?
【发布时间】:2017-04-01 09:31:08
【问题描述】:

我正在创建自己的商店(不是要分发的模块,仅供我自己使用),并且我试图让核心脱离核心以便将来能够升级,所以我使用模块或覆盖来获得额外的- 功能。

但我需要更多标准 PS 表中的数据(产品、地址等)。

所以我的问题:

向标准表格添加新字段是否安全?

我记住 PrestaShop 升级安装程序也可以将新字段添加到表中,因此我给出了非常具体的名称以避免命名冲突的处理。 但我想知道升级安装程序是否可以重新创建一些表并丢失我的字段(可能会将标准数据转换为新格式,但会丢失我的额外数据)。

是的,我可以创建一个模块,我自己的带有额外数据的表,并使用插入/更新/删除挂钩来保持我的数据一致,或者在覆盖每个模型类时做同样的事情,但我正在寻找添加数据的更轻量级的方式(但要保持核心清洁和可升级)。

提前感谢您的意见和任何建议。

【问题讨论】:

  • 我认为您可以使用额外的字段。重新创建表的可能性很小。但是,如果您真的需要或想要 100% 确定,则必须使用挂钩和额外的表格。否则,当您升级时,请像我一样先在开发副本上进行升级,如果一切正常,然后在实时站点上进行升级。
  • 我试图在 100% 确定和不做大量额外工作之间找到一个平衡点,无论是在开发时还是以后由于冲突而不得不重写我的代码时 :) 无论如何,谢谢解答

标签: prestashop prestashop-1.6


【解决方案1】:

除非您要切换主要版本(例如 1.6 -> 1.7),否则这应该不是问题。我在任何时候都没有看到 1.6 版本中添加了任何新的表字段。

添加额外字段是标准做法。每个商店都需要定制一些东西。只需添加您需要的字段并使用新字段覆盖该类,这将是加载数据最有效的方式。

您可以随时添加 SQL 表列 cmets,描述您在此处添加的字段。

别忘了定期备份,这样您就不用担心了。

即使发生冲突,您也可以轻松地为表列添加前缀,并在代码文件中进行搜索和替换。

【讨论】:

  • 感谢您的回答。我目前对 Prestashop 特定的最佳实践知之甚少,因此您的信息非常有用。
  • 顺便说一句,主要版本的兼容性如何?我选择 Presta 的一个关键原因 - 版本之间的可追溯性比其他 opensorce estore 引擎提供的更好。我希望这是正确的选择? :)
  • 我个人建议不要在主要版本之间迁移,例如1.6 -> 1.7。通常有太多的版本特定模块(例如为 1.6 设计的第 3 方模块)没有迁移路径。电子商务商店比说 WP 博客要复杂得多,人们通常只是坚持自己拥有的东西并尝试使用它来赚钱
  • 是的,很多店主不想升级是因为他们不需要新功能,但我一直认为升级的关键原因是安全性的提高,不是吗?
  • 1.7 中是否有一些重大的安全改进?
猜你喜欢
  • 2018-10-10
  • 2015-08-26
  • 2010-11-12
  • 1970-01-01
  • 1970-01-01
  • 2019-12-30
  • 2018-01-19
  • 1970-01-01
  • 2021-09-29
相关资源
最近更新 更多