2016-11-17 102 views
0

我正在创建自己的商店(不是为了我自己的用途而分发的模块),而且我正在努力让自己的手离开核心,以便将来能够升级,所以我使用模块或覆盖方式来实现额外功能,功能。向标准PrestaShop表中添加额外字段是否安全?

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

所以我的问题:

是安全的新字段添加到非标准的表?

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

是的,我可以创建一个模块,我自己的表与额外的数据,并使用插入/更新/删除挂钩,以保持我的数据一致,或执行相同的重写每个模型类,但我寻找更轻量级的方式来添加数据(但要保持核心清洁和可升级)。

在此先感谢您的意见和任何建议。

+1

我觉得你很好,额外的领域。桌子永远不会重新创建的可能性很小。但是如果你真的需要或想要100%确定,那么就必须使用钩子和额外的表格。否则,当你升级像我这样做时,首先在开发副本上进行升级,然后在活动网站上进行升级,如果一切都检查完成。 – TheDrot

+0

我试图找到一个100%肯定和不做很多额外的工作之间的平衡,无论是在开发或更晚的时候,因为冲突我必须重写我的代码:)无论如何,谢谢你的回答 – AlexandrX

回答

2

除非你转换主要版本(例如1.6 - > 1.7),这应该不成问题。我在任何时候都没有在1.6版本中看到任何新的表格字段。

添加额外的字段是标准做法。每家商店都需要定制一些东西。只需添加所需的字段并使用新字段对该类进行覆盖,这将是加载数据的最高效率。

您可以随时添加SQL表列注释,描述您在其中添加的字段。

不要忘了定期进行备份,以免不必担心。

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

+0

感谢回答。我现在不了解Prestashop特定的最佳实践,所以您的信息非常有用。 – AlexandrX

+0

顺便说一句,主要版本的可兼容性如何?我之所以选择Presta是因为其中一个关键原因 - 其他opensorce estore引擎提供的版本之间具有更好的可逆性。我希望这是正确的选择? :) – AlexandrX

+0

我个人建议不要在主要版本之间迁移,例如1.6 - > 1.7。通常有太多的特定于版本的模块(例如为1.6设计的第三方模块),它们没有迁移路径。电子商务店比WP博客要复杂得多,人们通常会坚持自己的想法并试图用它赚钱 – gskema

相关问题