19 lines
945 B
SQL
19 lines
945 B
SQL
-- Table: user_devices (تسجيل أجهزة المستخدمين الفعلية وربط بصمة العتاد بالجلسات)
|
|
CREATE TABLE IF NOT EXISTS `user_devices` (
|
|
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`user_id` BIGINT UNSIGNED NOT NULL,
|
|
`identity_id` BIGINT UNSIGNED NULL,
|
|
`device_fingerprint` VARCHAR(128) NOT NULL,
|
|
`platform` VARCHAR(32) NOT NULL DEFAULT 'other',
|
|
`device_name` VARCHAR(128) NULL,
|
|
`device_model` VARCHAR(128) NULL,
|
|
`os_version` VARCHAR(64) NULL,
|
|
`is_active` TINYINT(1) NOT NULL DEFAULT 1,
|
|
`last_active_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
`created_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uq_user_device` (`user_id`, `device_fingerprint`),
|
|
KEY `idx_device_fingerprint` (`device_fingerprint`),
|
|
KEY `idx_device_identity` (`identity_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|