FFS, MySQL - can't set a default on a text column, can't add a not-null column...

This commit is contained in:
Shish 2023-06-26 15:11:28 +01:00
parent ef52d572f1
commit f18fb336a6

View file

@ -20,13 +20,13 @@ class Blocks extends Extension
area VARCHAR(16) NOT NULL, area VARCHAR(16) NOT NULL,
priority INTEGER NOT NULL, priority INTEGER NOT NULL,
content TEXT NOT NULL, content TEXT NOT NULL,
userclass TEXT NOT NULL DEFAULT '' userclass TEXT
"); ");
$database->execute("CREATE INDEX blocks_pages_idx ON blocks(pages)", []); $database->execute("CREATE INDEX blocks_pages_idx ON blocks(pages)", []);
$this->set_version("ext_blocks_version", 2); $this->set_version("ext_blocks_version", 2);
} }
if ($this->get_version("ext_blocks_version") < 2) { if ($this->get_version("ext_blocks_version") < 2) {
$database->execute("ALTER TABLE blocks ADD COLUMN userclass TEXT NOT NULL DEFAULT ''"); $database->execute("ALTER TABLE blocks ADD COLUMN userclass TEXT");
$this->set_version("ext_blocks_version", 2); $this->set_version("ext_blocks_version", 2);
} }
} }
@ -65,7 +65,7 @@ class Blocks extends Extension
$b->is_content = false; $b->is_content = false;
# Split by comma, trimming whitespaces, and not allowing empty elements. # Split by comma, trimming whitespaces, and not allowing empty elements.
$userclasses = preg_split('/\s*,+\s*/', strtolower($block['userclass']), 0, PREG_SPLIT_NO_EMPTY); $userclasses = preg_split('/\s*,+\s*/', strtolower($block['userclass'] ?? ""), 0, PREG_SPLIT_NO_EMPTY);
if (empty($userclasses) || in_array(strtolower($user->class->name), $userclasses)) { if (empty($userclasses) || in_array(strtolower($user->class->name), $userclasses)) {
$page->add_block($b); $page->add_block($b);
} }