使用MySQL数据库控制版本

时间:2017-12-19 09:32:01

标签: mysql git version-control

我正在使用数据库在Intranet上工作。这是php和mysql。我正在使用Git进行版本控制。

我的问题是我经常需要更改数据库结构。目前,我们有一个文件,用于编写我们对数据库所做的操作,每当我们执行拉动操作时,我们都应该在该文件中应用最新的命令。它看起来像这样:

#2017-08-14 TAN: Remove swedish char from DB column name.
ALTER TABLE artiklar CHANGE COLUMN `alarmvalue` min_stored_amount int(11) DEFAULT '0';

#2017-08-29 SAG: Added changelog in database
CREATE TABLE `changelog` (
  `id` int(6) unsigned NOT NULL AUTO_INCREMENT,
  `reg_date` timestamp NOT NULL,
  `comment` varchar(10000) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

# 2017-08-25 TAN: Add new role "monitorStock" to person.
ALTER TABLE personal ADD COLUMN monitorStock int(1) DEFAULT '0' after qc;

这两者似乎都不必要,而且容易出错。这很容易忘记但在这种情况下我们很快就会注意到它,但它可能会导致更严重的问题。只要我只将表或列添加到现有表中,一切都很好,但如果我重命名或删除任何内容,则无法撤消它。它必须是解决这个问题的更好方法。

简而言之,我希望版本控制数据库结构,而不是其内容。

0 个答案:

没有答案
相关问题