Я пишу плагин Wordpress, расширяющий Woocommerce, который требует хранения дополнительной информации о пользователе.
Я понимаю, что для этого есть отдельная таблица wp_user_meta, но я бы предпочел использовать пользовательскую таблицу, так как япланируйте использовать Wordpress / Woocommerce в качестве начальной платформы, а затем, надеюсь, перейдите на другие.Данные также будут часто запрашиваться.
Для этой пользовательской таблицы требуется одна запись на пользователя, определяемая идентификатором в wp_user, поэтому, по сути, это отношение один к одному.Пример схемы для пользовательской таблицы:
CREATE TABLE {$wpdb->prefix}custom_table (
custom_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
user_id BIGINT UNSIGNED NOT NULL,
custom_data varchar(200) NULL,
FOREIGN KEY (user_id) REFERENCES wp_users(ID),
PRIMARY KEY (custom_id)
)
Мой вопрос об использовании Wordpress, как вы гарантируете, что отношение один к одному поддерживается?
Я знаю, что у меня будетвыполнить первоначальную настройку для создания записей в пользовательской таблице для существующих пользователей.
Кроме этого, разрешено ли пользователям вообще менять свой идентификатор в жизненном цикле пользователя?Является ли это случаем использования хуков регистрации / удаления, чтобы обеспечить актуальность данных в пользовательской таблице?(Или удаление каскадно переходит к другим таблицам, когда это происходит в таблице wp_user)