Intereting Posts

PHP-модели баз данных, которые синхронизируются с базой данных?

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

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

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

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

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

    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/

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

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