在使用表之前,我需要验证该表的架构与执行代码完全对应。我知道有一个命令.schema tablename,其结果可以被散列并与实际模式的散列进行比较。问题在于,存储的架构包含创建表时使用的所有过多字符(重复制表符、空格、换行符),如果我要在下一个版本的代码中更改架构中的空格数,表将无法被识别。
我不想手动解析每一列及其所有属性。
我不能只通过 split&join 或 regexp 删除重复的空格,因为有时它们不重复,但仍然过多(例如,靠近左括号)。
它看起来像是一个非常常见的任务 - 验证表的架构 - 但我看不到有效实现该任务的方法。
UPD
我正在考虑的另一种可能的方法是:创建一个临时表并使用一些内部 sqlite 函数将其架构与目标表进行比较。能行吗?