Organize scattered PHP files into scripts/ and tests/ directories
This commit is contained in:
24
scripts/fix_db.php
Executable file
24
scripts/fix_db.php
Executable file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
require __DIR__ . '/../vendor/autoload.php';
|
||||
require __DIR__ . '/../config.php';
|
||||
|
||||
use App\Database;
|
||||
use App\Models\Category;
|
||||
|
||||
$db = Database::getInstance();
|
||||
|
||||
$categories = Category::getAll($db);
|
||||
|
||||
foreach ($categories as $cat) {
|
||||
$path = Category::getFullPath($db, $cat['id']);
|
||||
if (strpos($path, '[Circular]') !== false) {
|
||||
echo "Circular reference found for category {$cat['id']}: {$cat['name']}\n";
|
||||
// Reset parent_id to null
|
||||
$stmt = $db->prepare('UPDATE categories SET parent_id = NULL WHERE id = :id');
|
||||
$stmt->execute([':id' => $cat['id']]);
|
||||
echo "Fixed by setting parent_id to NULL\n";
|
||||
}
|
||||
}
|
||||
|
||||
echo "Done checking and fixing circular references.\n";
|
||||
Reference in New Issue
Block a user