我最近开始重新设计一个PHP-mysql项目,这个项目是大约7年前创建的。我只有php和html代码,没有mysql数据库或任何显示数据库结构的文档。
有什么工具可以帮助我使用php文件提取我的数据库表吗?在php文件中,我有插入查询和选择查询以及更新。
我想到了一个工具(这样的爬虫),它将我的php文件作为输入,并创建一些sql创建表查询作为输出。
发布于 2022-06-04 15:29:58
恐怕没有这样的工具。PHP代码甚至不能保证引用每个表或每一列。您可能会看到这样的代码:
mysqli_query("INSERT INTO mytable VALUES ('1234', 'abc', NULL, DEFAULT)");列名是什么?他们的数据类型是什么?第一列是整数,还是开发人员习惯在字符串分隔符中放置数字?第四列引用的默认值是什么?自动化工具如何通过扫描这些代码来推断这些事情呢?
PHP代码完全不引用触发器、约束和索引等许多细节,但它们是使应用程序工作所必需的。
如果数据库有任何存储过程,PHP代码将不了解过程中的逻辑。
mysqli_query("CALL myprocedure(1234, 'north')");视图中的查询定义也存在同样的问题。
逆向工程这个项目将是一个耗时的法医任务,加上许多猜测。
它真正说明了将当前模式转储包含到项目源代码中的重要性。
https://stackoverflow.com/questions/72500238
复制相似问题