| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- <?php
- /**
- * Database migration script to fix incorrect image URLs in items table
- * This script will update all image URLs that contain incorrect paths
- */
- require_once 'backend/config/database.php';
- echo "Starting image URL migration...\n";
- try {
- $database = new Database();
- $db = $database->getConnection();
-
- echo "Connected to database successfully.\n";
-
- // First, let's see how many items have incorrect URLs
- $check_query = "SELECT id, picture FROM items WHERE picture LIKE '%/var/www/html/%' OR picture LIKE '%/api/%'";
- $check_stmt = $db->prepare($check_query);
- $check_stmt->execute();
-
- $incorrect_urls = $check_stmt->fetchAll(PDO::FETCH_ASSOC);
- $total_items = count($incorrect_urls);
-
- echo "Found {$total_items} items with incorrect image URLs.\n";
-
- if ($total_items === 0) {
- echo "No items need fixing. Migration complete.\n";
- exit(0);
- }
-
- // Update each incorrect URL
- $update_query = "UPDATE items SET picture = ? WHERE id = ?";
- $update_stmt = $db->prepare($update_query);
-
- $fixed_count = 0;
-
- foreach ($incorrect_urls as $item) {
- $old_url = $item['picture'];
- $new_url = $old_url;
-
- // Remove /var/www/html/ from the path
- if (strpos($new_url, '/var/www/html/') !== false) {
- $new_url = str_replace('/var/www/html/', '', $new_url);
- }
-
- // Remove /api/ from the beginning if present
- if (strpos($new_url, '/api/') !== false) {
- $new_url = str_replace('/api/', '', $new_url);
- }
-
- // Only update if the URL actually changed
- if ($new_url !== $old_url) {
- echo "Fixing item ID {$item['id']}: {$old_url} -> {$new_url}\n";
- $update_stmt->execute([$new_url, $item['id']]);
- $fixed_count++;
- }
- }
-
- echo "Successfully fixed {$fixed_count} image URLs.\n";
- echo "Migration completed successfully!\n";
-
- } catch (Exception $e) {
- echo "Error during migration: " . $e->getMessage() . "\n";
- exit(1);
- }
- ?>
|