验证SQLite表架构

时间:2013-11-18 16:19:58

标签: sql sqlite schema

在使用表之前,我需要验证表的模式是否与执行代码完全对应。我知道有一个命令.schema tablename,其结果可以进行散列并与实际模式的散列进行比较。问题是存储的模式包含创建表时使用的所有过多的字符(重复选项卡,空格,换行符号),如果我将在下一版本的代码中更改模式中的空格数,表格不会被识别。

我不想手动解析每个列的所有属性。

我不能通过split& join或regexp删除重复的空格,因为有时它们不会重复但仍然过多(例如,靠近开括号)。

这看起来是一个非常常见的任务 - 验证表的架构 - 但我看不出有效实现的方法。

UPD

我正在考虑的另一种可能方式:创建一个临时表,并使用一些内部sqlite函数将其模式与目标表进行比较。可以吗?

1 个答案:

答案 0 :(得分:2)

可能的解决方案:PRAGMA schema_version;PRAGMA user_version; commands

有一些使用它们来验证表格方案的变体,但我相信你会找到合适的方法