Files
cloud_control_panel/db/migration/001_create_users.php

37 lines
906 B
PHP
Executable File

<?php
declare(strict_types=1);
return function (PDO $db): void {
$db->exec("
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT NOT NULL UNIQUE,
password TEXT NOT NULL,
created_at INTEGER NOT NULL
);
");
$stmt = $db->prepare(
"SELECT COUNT(*) FROM users WHERE username = :username"
);
$stmt->execute(['username' => getenv('USER')]);
if ((int)$stmt->fetchColumn() > 0) {
return;
}
$passwordHash = password_hash(
getenv('PASSWORD'),
PASSWORD_DEFAULT
);
$stmt = $db->prepare("
INSERT INTO users (username, password, created_at)
VALUES (:username, :password, :created_at)
");
$stmt->execute([
'username' => $_ENV['USER'],
'password' => $passwordHash,
'created_at' => time(),
]);
};