该软件包最新版本(0.0.2.1)没有提供许可证信息。

0.0.2.1 2017-01-19 09:35 UTC

This package is auto-updated.

Last update: 2024-09-27 02:39:27 UTC


README

控制台应用程序,用于版本控制数据库表内容并显示其每日差异

分为3步完成

  1. 设置PHP-ODBC连接并将数据库连接存储在/etc/odbc.ini
  2. 通过ODBC连接将数据库表导出到git通过git-rest-api服务器
  3. 编辑后再次导出表
  4. 获取git diff结果

定期导出提供了更多时间点进行diff比较

类似工具(尚未尝试)

  • Red gate:类似于该存储库,可以版本控制“静态数据”
  • git-sql:SQL数据转储的差异比较
  • Nayjest/db-diff:具有相同结构的两个表之间的差异比较
  • PM-Connect/db-diff:两个数据库结构之间的差异比较

使用方法

(示例用法:docker-db-diff

  1. 要求

  2. PDO-ODBC驱动和已建立的连接

  3. 配置了deep-diff-ymlnode-git-rest-api服务器

  4. git-rest-api服务器设置环境变量

export DBDIFF_GRAPI_HOST=https://:8082
  1. 概述
./bin/pdo-git export [--init] <DSN> <DB>..<TABLE>
./bin/pdo-git post-commit --format [html,console,json] -- <DSN> <DB>..<TABLE>

注意:<DB>..<TABLE>表示法是SQLServer特定的。对于MySQL,使用<DB>.<TABLE>(单个点)

重置

./bin/pdo-git admin git:deleteAll

测试

  1. (可选)设置一个本地mysql数据库进行测试
docker run \
  -e MYSQL_RANDOM_ROOT_PASSWORD=yes \
  -e MYSQL_DATABASE=mf \
  -e MYSQL_USER=user \
  -e MYSQL_PASSWORD=password \
  -v $PWD/tests/initdb.d:/docker-entrypoint-initdb.d \
  -p 3306:3306 \
  mysql:8

测试用例

mysql --host 127.0.0.1 --user user --password
> use mf;
> select * from t1
  1. (可选)在本地运行git-rest-api服务器
docker-compose up git
  1. (可选)使用以下选项1或2设置开发环境
  2. 安装依赖项:composer install
  3. 运行测试:composer test

选项1:使用vagrant的开发环境

cd exporter
vagrant up
VAGRANT> composer test

选项2:手动设置

安装odbc驱动程序,例如:docker-php7...[sudo] apt-get unixodbc unixodbc-dev tdsodbc php7.0-odbc

使用以下命令测试安装:php -i|grep odbc

安装mysql-odbc驱动程序

  1. ubuntu 13.04apt-get install libmyodbc
  2. ubuntu 16.04:
wget https://cdn.mysql.com//Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.7-linux-ubuntu16.04-x86-64bit.tar.gz
tar -xzf mysql-connector-odbc-5.3.7-linux-ubuntu16.04-x86-64bit.tar.gz
cd mysql.../lib
cp * /usr/lib/x86_64.../odbc/

设置odbc配置

cp etc/odbc.dev.ini /etc/
cp etc/odbcinst.dev.ini /etc/

测试用例

isql MarketflowAcc user password