starker-xp/database-checker

获取实际模式和json配置之间的差异

0.0.9 2018-10-31 12:56 UTC

This package is not auto-updated.

Last update: 2024-09-29 06:14:18 UTC


README

Coverage Status Build Status Scrutinizer Code Quality

我遇到了一个客户数据库同步的问题。我没有任何工具来验证客户实例是否真正有效。

待办事项

  • 管理 FOREIGN KEY(取决于存储引擎)。

  • 创建 MysqlDatabase 类以管理 mysql 的版本升级,例如,在 5.6 版本之前的 innodb 上不处理全文索引。

  • 允许忽略某些表。

  • 允许忽略某些列。

  • 允许忽略某些索引。

  • 允许修改列。(添加、修改、删除、重命名)

  • 在创建 MysqlDatabase 后验证 json/对象导出。

  • 为 mysql 5.5 版本管理 default current_timestamp => default now() 更新 default now()。

完成

  • 从 JSON 文件生成对象。

  • 从数据库生成对象。

  • ENUM('0','1') 转换为 TYINT(1)

  • 生成两个对象之间的差异。

  • 敏感处理大小写。

  • 集成 collate 检查。

  • 创建 FULLTEXT 索引。

  • 检查存储引擎。

  • 管理 DROP COLUMNS

  • 一旦完成了 DROPREMOVE COLUMNS 的管理,允许软件仅通过配置进行创建。

  • ALTER COLUMN 之前删除索引。

  • 检查某些表的数据(例如:可能的公民身份列表)。

  • 添加结构优化(例如:在具有许多条记录的表中使用 TEXTBLOB)。

  • 索引建议。

  • 从 SQL 查询验证索引是否已定义。

// watcher
gulp start
// lance les tests unitaires (nécessite phpunit)
gulp phpunit
// prépare le projet pour la production
gulp build
// permet de générer la couverture du code (nécessite xdebug/phpuni)
gulp coverage