Add additional features

This commit is contained in:
2026-01-31 13:18:54 +01:00
parent e003257c84
commit 6f0cee7499
22 changed files with 5827 additions and 28 deletions

View File

@@ -46,4 +46,61 @@ $config = [
],
];
new \yii\web\Application($config);
$app = new \yii\web\Application($config);
$db = $app->db;
$db->createCommand('CREATE TABLE IF NOT EXISTS {{%user}} (
id INTEGER PRIMARY KEY AUTOINCREMENT,
email VARCHAR(255) NOT NULL,
username VARCHAR(255),
password_hash VARCHAR(255) NOT NULL DEFAULT \'\',
auth_key VARCHAR(32) NOT NULL DEFAULT \'\',
status VARCHAR(20) NOT NULL DEFAULT \'pending\',
email_confirmed_at DATETIME,
blocked_at DATETIME,
last_login_at DATETIME,
last_login_ip VARCHAR(45),
registration_ip VARCHAR(45),
gdpr_consent_at DATETIME,
gdpr_consent_version VARCHAR(20),
gdpr_marketing_consent_at DATETIME,
gdpr_deleted_at DATETIME,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
)')->execute();
$db->createCommand('CREATE TABLE IF NOT EXISTS {{%user_token}} (
id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id INTEGER NOT NULL,
type VARCHAR(20) NOT NULL,
token VARCHAR(64) NOT NULL,
data TEXT,
expires_at DATETIME NOT NULL,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
)')->execute();
$db->createCommand('CREATE TABLE IF NOT EXISTS {{%user_profile}} (
user_id INTEGER PRIMARY KEY,
name VARCHAR(255),
bio TEXT,
location VARCHAR(255),
website VARCHAR(255),
timezone VARCHAR(40),
avatar_path VARCHAR(255),
gravatar_email VARCHAR(255),
use_gravatar BOOLEAN NOT NULL DEFAULT 1,
public_email VARCHAR(255),
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
)')->execute();
$db->createCommand('CREATE TABLE IF NOT EXISTS {{%user_session}} (
id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id INTEGER NOT NULL,
session_id VARCHAR(128) NOT NULL,
ip VARCHAR(45),
user_agent TEXT,
device_name VARCHAR(255),
last_activity_at DATETIME NOT NULL,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
)')->execute();