Как преобразовать запрос создающий таблицы в скрипт добавляющий несуществующие поля?

Есть запрос вида:
CREATE TABLE IF NOT EXISTS Тапблица
(
	ID INT(18) UNSIGNED NOT NULL AUTO_INCREMENT,
	OWNER INT(1) NOT NULL,
	блаблабла
	PRIMARY KEY(ID),
	INDEX индекс(OWNER, блаблабла)
);

Дофигища таблиц. И есть база где все эти таблицы есть но старой версии - в них не хватает некоторый полей и индексов. Как преобразовать этот запрос так, чтобы он только добавил несуществующие в таблицах поля и индексы?
  • Вопрос задан
  • 154 просмотра
Пригласить эксперта
Ответы на вопрос 1
suguby
@suguby
программист, python, django, mysql, git, hg, linux
гуглите ALTER TABLE
dev.mysql.com/doc/refman/5.5/en/alter-table.html

если пишите на django, то можно сделать т.н. "миграции" когда автоматически сравнивается модель ОРМ с реальной базой и создаются скрипты приведения базы к моделям.

для мускуля можно попробовать провернуть такой трюк: создать БД из скриптов CREATE TABLE, поставить себе MySQLWorkBench mysqlworkbench.org, в нем реинжинирить эту пустую базу, а потом сделать синхронизацию с реальной базой. MySQLWorkBench делает сравнение структур баз данных. Еще такой же функциональностью обладает SQLyog.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы