Модели баз данных на основе PHP, которые синхронизируются с базой данных? - PullRequest
6 голосов
/ 21 июня 2011

Модели Django действительно крутые, потому что вы определяете все свои модели / таблицы прямо в коде, а затем синхронизируете их с базой данных. Таким образом, когда вы собираетесь обновить рабочий сервер, вы просто запускаете сценарий миграции / синхронизации и не можете забыть обновить какие-либо таблицы.

Проект, над которым я сейчас работаю, хотя и не основан на Django или Python, он написан на PHP, а все запросы написаны на прямом SQL (без ORM). У нас есть много баз данных, которые необходимо обновлять каждый раз, когда мы вносим изменения. Прямо сейчас мы в основном копируем и вставляем наши сценарии SQL и запускаем их везде, где они должны быть запущены, или, если это большое изменение, мы могли бы использовать сценарий. Проблема, однако, в том, что иногда мы забываем включить некоторый SQL.

Если, однако, у нас было решение на основе кода, оно автоматически проверялось нашими усилиями, и мы не могли забыть его запустить. Итак ... Я ищу решение, которое позволило бы нам определить все наши модели в PHP, но давайте продолжим писать прямой SQL без использования ORM (проекту 10 лет, было бы слишком много работы для реализации ОРМ прямо сейчас). Было бы неплохо, если бы она также могла конвертировать нашу существующую БД в модели PHP.

Существуют ли решения для этого?

Ответы [ 3 ]

3 голосов
/ 23 июня 2011

Это может стоить вам, но это то, что мы используем для старых проектов.

SQLyog

http://www.databasejournal.com/features/mysql/article.php/1584401/Synchronizing-Your-MySQL-Databases-Using-a-Free-MySQL-Admin-Tool---SQLyog.htm

DBDeploy - Opensource

http://dbdeploy.com/

PHING & DBDeploy - инструкции

http://www.davedevelopment.co.uk/2008/04/14/how-to-simple-database-migrations-with-phing-and-dbdeploy/

2 голосов
/ 21 июня 2011

Вы можете использовать Doctrine2, я думаю. Есть поддержка родного SQL http://www.doctrine -project.org / docs / orm / 2.0 / en / reference / native-sql.html

2 голосов
/ 21 июня 2011

Я не использовал систему на основе PHP с фантастической поддержкой моделей, предлагаемой Django, но этот проект выглядит многообещающе: Интерфейс запросов типа Django *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...