Таблица users_field_data
Таблица users_field_data является одной из ключевых таблиц в Drupal для хранения информации о пользователях. Она содержит основные поля данных, которые являются общими для всех переводов (языковых версий) учетной записи пользователя. Эта таблица связана с базовой таблицей users, которая хранит техническую информацию.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
uid |
int |
Уникальный идентификатор пользователя. Первичный ключ, который связывает запись с таблицей users.
|
langcode |
varchar(12) |
Языковой код, для которого представлены данные. Позволяет хранить переводы полей пользователя на разные языки. |
preferred_langcode |
varchar(12) |
Предпочитаемый язык пользователя для интерфейса сайта. |
preferred_admin_langcode |
varchar(12) |
Предпочитаемый язык пользователя для административного интерфейса. |
name |
varchar(60) |
Уникальное имя пользователя для входа в систему. |
pass |
varchar(255) |
Хэш пароля пользователя. Хранится в безопасном виде. |
mail |
varchar(254) |
Адрес электронной почты пользователя. Используется для уведомлений и восстановления пароля. |
timezone |
varchar(32) |
Часовой пояс пользователя. |
status |
tinyint |
Статус учетной записи: 1 - активна, 0 - заблокирована.
|
created |
int |
UNIX-временная метка создания учетной записи. |
changed |
int |
UNIX-временная метка последнего изменения данных пользователя. |
access |
int |
UNIX-временная метка последнего доступа пользователя к сайту. |
login |
int |
UNIX-временная метка последнего входа пользователя в систему. |
init |
varchar(254) |
Исходный адрес электронной почты, использованный при регистрации. |
default_langcode |
tinyint |
Флаг, указывающий является ли это записью на языке по умолчанию: 1 - да, 0 - нет.
|
Как это работает
Drupal использует систему полей (Fields) для хранения данных. Таблица users_field_data содержит основные поля сущности "пользователь", которые являются общими для всех сайтов на Drupal. Для дополнительных полей, созданных администратором, используются отдельные таблицы.
Каждый пользователь имеет как минимум одну запись в этой таблице (для языка по умолчанию). Если на сайте включена многоязычность и пользователь заполнил данные на нескольких языках, для одного uid может существовать несколько записей с разными значениями langcode.
Статус пользователя (status) определяет, может ли пользователь войти в систему. Администратор может блокировать учетные записи, устанавливая значение 0.
Временные метки (created, changed, access, login) позволяют отслеживать активность пользователей и время их последних действий на сайте.
Пример SQL-запроса
Получить информацию о последних активных пользователях можно следующим запросом:
SELECT uid, name, mail, status, created, access, login
FROM users_field_data
WHERE status = 1
ORDER BY access DESC
LIMIT 10;
Смотрите также
-
таблицу
users,
которая содержит базовую техническую информацию о пользователях -
таблицу
user__roles,
которая хранит связи пользователей с ролями -
таблицу
sessions,
которая содержит данные о активных сессиях пользователей -
таблицу
node_field_data,
которая хранит основные данные материалов (нод)