Actually create the tables holy shit...

This commit is contained in:
flash 2025-01-03 03:45:29 +00:00
parent 657c8e0b09
commit e303a49fd3

View file

@ -4,6 +4,40 @@ use Index\Db\Migration\DbMigration;
final class PoolsSystemWithRules_20241225_123334 implements DbMigration { final class PoolsSystemWithRules_20241225_123334 implements DbMigration {
public function migrate(DbConnection $conn): void { public function migrate(DbConnection $conn): void {
// Create pools tables LOL HOW COULD I FORGET THIS WHAT
$conn->execute(<<<SQL
CREATE TABLE prm_pools (
pool_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
pool_name VARCHAR(32) NOT NULL COLLATE 'ascii_general_ci',
pool_secret VARCHAR(255) NULL DEFAULT NULL COLLATE 'ascii_bin',
pool_created TIMESTAMP NOT NULL DEFAULT current_timestamp(),
pool_deprecated TIMESTAMP NULL DEFAULT NULL,
PRIMARY KEY (pool_id) USING BTREE,
UNIQUE INDEX prm_pools_name_unique (pool_name) USING BTREE,
INDEX prm_pools_created_index (pool_created) USING BTREE,
INDEX prm_pools_deprecated_index (pool_deprecated) USING BTREE
) ENGINE=InnoDB COLLATE='utf8mb4_bin'
SQL);
$conn->execute(<<<SQL
CREATE TABLE prm_pools_rules (
rule_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
pool_id INT(10) UNSIGNED NOT NULL,
rule_type VARCHAR(64) NOT NULL COLLATE 'ascii_general_ci',
rule_params LONGTEXT NOT NULL DEFAULT '{}' COLLATE 'utf8mb4_bin',
PRIMARY KEY (rule_id) USING BTREE,
INDEX prm_pools_rules_pool_foreign (pool_id) USING BTREE,
INDEX prm_pools_rules_type_index (rule_type) USING BTREE,
CONSTRAINT prm_pools_rules_pool_foreign
FOREIGN KEY (pool_id)
REFERENCES prm_pools (pool_id)
ON UPDATE CASCADE
ON DELETE CASCADE,
CONSTRAINT prm_pools_rules_params_ensure_object
CHECK (json_type(rule_params) = 'OBJECT')
) ENGINE=InnoDB COLLATE='utf8mb4_bin'
SQL);
// Set NULL access timestamps to the created timestamp // Set NULL access timestamps to the created timestamp
$conn->execute('UPDATE prm_uploads SET upload_accessed = upload_created WHERE upload_accessed IS NULL'); $conn->execute('UPDATE prm_uploads SET upload_accessed = upload_created WHERE upload_accessed IS NULL');