2016-11-17 2 views
0

Я создаю свой собственный магазин (не модуль для распространения, только для моего собственного использования), и я пытаюсь удержать руки от ядра, чтобы иметь возможность обновлять его в будущем, поэтому я использую модули или переопределения для дополнительных приложений, функциональность.Можно ли добавить дополнительные поля в стандартные таблицы PrestaShop?

Но мне нужны еще данные в стандартных таблицах PS (продукт, addres и т. Д.).

Так что мой вопрос:

это безопасно, чтобы добавить новые поля Standart таблицы?

Я помню, что установщик обновления PrestaShop мог добавлять новые поля в таблицы, поэтому я даю очень конкретные имена, чтобы избежать обращения к именованию столкновений. Но мне интересно, может ли программа установки обновления воссоздать некоторые таблицы и потерять мои поля (возможно, с преобразованием стандартных данных в новый формат, но потеряв мои дополнительные данные).

Да, я могу создать модуль, свою таблицу с дополнительными данными и использовать вставки/обновление/удаление, чтобы мои данные были согласованы или делали то же самое в переопределении каждого класса модели, но я ищет более легкий способ добавления данных (но чтобы ядро ​​было чистым и обновляемым).

Заранее благодарим за ваше решение и любые советы.

+1

Я думаю, что у вас все в порядке с дополнительными полями. Очень маловероятно, что таблицы будут воссозданы. Но если вам действительно нужно или хотите быть на 100% уверенным, тогда придется использовать крючки и дополнительные таблицы. В противном случае, когда вы обновляете, делайте то же самое, что я делаю, что делает обновление сначала на копии разработки, а затем на живом сайте, если все проверяется в порядке. – TheDrot

+0

Я пытаюсь найти баланс между тем, чтобы быть на 100% уверенным и не делать много дополнительной работы, ни при разработке, ни позже, когда мне пришлось бы переписать мой код из-за конфликта :) В любом случае, спасибо за ответ – AlexandrX

ответ

2

Если вы не переключаете основные версии (например, 1.6 -> 1.7), это не должно быть проблемой. Я не видел никаких новых полей таблиц, добавленных в версии 1.6 в любой момент.

Добавление дополнительных полей - стандартная практика. Каждому магазину требуется что-то сделанное обычай. Просто добавьте нужные поля и сделайте переопределение для этого класса с новыми полями, это будет наиболее эффективным при загрузке данных.

Вы всегда можете добавить комментарии к столбцам таблицы SQL, описать поля, которые вы там добавили.

Не забудьте сделать регулярные резервные копии, чтобы не беспокоиться.

Даже если возникает конфликт, вы всегда можете легко прикрепить столбец таблицы и выполнить поиск и заменить в своих файлах кода.

+0

спасибо за ответ ответ. На данный момент я знаю не столько о лучших практиках Prestashop, поэтому ваша информация очень полезна. – AlexandrX

+0

Кстати, а как насчет совместимости основных версий? Я выбрал Presta по одной ключевой причине - лучшая ретрокомпинантность между версиями, чем другие механизмы openorce estore. Надеюсь, это был правильный выбор? :) – AlexandrX

+0

Лично я бы посоветовал не переносить между основными версиями, например. 1,6 -> 1,7. Обычно существует слишком много модулей, специфичных для версии (например, сторонние модули, разработанные для версии 1.6), которые не имеют пути миграции. Магазин электронной торговли намного сложнее, чем блог WP, люди обычно придерживаются того, что у них есть, и пытаются заработать деньги, используя его. – gskema

Смежные вопросы