Функция меняет одну БД ("копию") по другой БД ("оригиналу"). PHP, MySQ
Задача.
Есть несколько БД в MySQL. Система управления на PHP/JS.
Обновления кода разрабатываются и применяются в тестовой БД, а затем эти обновления внедряются в остальные копии этой БД. Из-за наличия нескольких копий внедрение обновлений структуры БД MySQL занимает много времени.
Требуется написать функцию, которая сравнивает 2 БД, выводит на экран отличия в их структуре и, при одобрении пользователем, изменяет структуру скопированной БД по аналогии с тестовой (оригиналом).
Обязательные требования.
1. Вводим название логин и пароль БД "оригинал" и БД 2 "копия"
2. Нажимаем кнопку "Сравнить"
3. На экран выводятся:
- сначала названия всех таблиц, которых нет в "оригинале", но есть в "копии", выделяем их красным, так как их предстоит удалить в "копии". Рядом выводим количество записей в каждой из этих таблиц.
Например:
Таблица – кол записей в "копии" (шапка таблицы)
table – 130 (строки)
- выводятся названия таблиц, которые есть в "оригинале" и нет в "копии", выделяем их зеленым, их предстоит добавить в "копию".
Например:
Таблица
table
- выводим названия таблиц, в которых структура "оригинала" отличается от "копии", выделяем черным. К названию добавляем ту структуру, которая отличается. Выделяем строчку зеленым, если добавляется, красным, если удаляется, желтым, если меняется тип столбца в структуре. При изменении типа столбца записи в нем не должны удалиться, но будут преобразованы автоматически в musql.
Например:
Таблица – Столбец – тип было – тип станет – кол записей в "копии"
table – sum – float(10) – dec(10,2) – 1005 (строчка изменяемого столбца, выделяется желтым)
table – sum – - dec(10,2) – 1005 (строчка добавляемого столбца, выделяется зеленым)
table – sum – float(10) – - 1005 (строчка удаляемого столбца, выделяется красным)
Около каждой строчки галочка для общего применения изменений.
Над всем этим выводом, строго над галочками кнопка с title "Выделить все". Когда она не нажата, на ней нарисован "+", когда нажата – "-".
Кстати, такой вариант исполнения чеков уже реализован под названием "ClassNewTable". Можно использовать его. Либо, если удобнее, есть смысл содать свой, так как он нам ни раз пригодится при решении других задач.
4. Пользователь выбирает галочками какие таблицы надо изменить, либо нажимает "выбрать все" и нажимает кнопку "применить", либо кнопку "отмена", которая вернет его на предыдущий экран.
5. Функция скачивает БД "копия" на компьютер пользователя в качестве бекапа. Это должен быть стандартный файл mysql для восстановления БД и всех ее строк. Эту функцию надо сохранить отдельно, что бы была возможность вызова ее при других обстоятельствах, нетолько при копировании БД.
6. Производятся именения выбранные пользователем в таблице "копия".
7. На экран выводится сообщение об успешной или неуспешной операции.
Дамп БД: https://yadi.sk/d/N8LJjzZrm8n5bQ
-
Если проблема только в отличии схем БД, вам нужно освоить работу с миграциями.
https://www.doctrine-project.org/projects/migrations.html -
Aktualne zlecenia dla freelancerów w kategorii Bazy danych i SQL
Parsowanie bazy
168 PLN
Wymagania dotyczące kanałów:1. Język treści:Rosyjski lub ukraiński(dopasowana mieszana treść RU/UA)2. Liczba subskrybentów:Nie mniej niż 500 subskrybentów3. Aktywność:Ostatni post opublikowany nie później niż 32 godziny temu4. Komentarze:Na kanale muszą być otwarte komentarze… Bazy danych i SQL, Parsowanie danych ∙ 1 dzień 1 godzina temu ∙ 28 ofert |
Należy sprawdzić skrypty i zaktualizować dane w bazie danych postgres.Konieczne jest poprawienie skryptów SQL dla bazy Postgres. Należy sprawdzić skrypty i zaktualizować dane z zewnętrznych tabel Excel oraz między dwoma bazami (różne serwery) Postgres. Uruchamianie skryptów przez program AnyDesk Navicat. Lista danych do sprawdzenia i korekty: 1.… Bazy danych i SQL ∙ 4 dni 4 godziny temu ∙ 18 ofert |
Potrzebny architekt Airtable do zbudowania schematu relacyjnego i nowej czystej bazy AirtablePotrzebna pomoc w przemyśleniu i zbudowaniu czystiej schemy relacyjnej dla wewnętrznego systemu operacyjnego w Airtable. Obecna baza jest już używana przez zespół, ale rozwinęła się organicznie: struktura jest częściowo płaska, część tabel/widoków jest używana aktywnie, część… Bazy danych i SQL, Aplikacje desktopowe ∙ 4 dni 21 godzin temu ∙ 10 ofert |
Platforma edukacyjna dla trenerów koszykówki + niestandardowy CMSPlatforma edukacyjna dla trenerów koszykówki + Custom CMSPrzegląd projektu Poszukujemy doświadczonego zespołu deweloperskiego lub programisty full-stack do zbudowania nowoczesnej platformy edukacyjnej dla trenerów koszykówki. Strona internetowa zapewni trenerom koszykówki dostęp… Bazy danych i SQL, Programowanie stron internetowych ∙ 5 dni 15 godzin temu ∙ 92 oferty |
Integracja Viber w 8.3
839 PLN
Potrzebna integracja Viber w własnym CRM (1C 8.3)O firmieFirma "Domofon System" zajmuje się instalacją i serwisowaniem systemów domofonowych.Baza ponad 40 000 abonentów.Pracujemy na własnym dopracowanym systemie opartym na 1C 8.3.Szukamy specjalisty lub zespołu do… Bazy danych i SQL, Tworzenie chatbota ∙ 5 dni 18 godzin temu ∙ 18 ofert |