我们正在考虑冒险将我们现有的应用程序WebSql
后端/数据层移植到JayData
. 都是客户端。我们希望分两个阶段进行移动,允许我们的应用程序继续使用现有方法从数据库中读取,同时我们的解析将移动到允许 JayData 控制所有读/写数据结构。
早期的测试非常顺利。 JayData
是一个很好的 ORM 并且易于使用。但是,我们一次又一次遇到错误:
Uncaught TypeError: Cannot set property 'initData' of undefined SqLiteProvider.min.js:35
DefaultError: DEFAULT ERROR CALLBACK!
Exception {name: "DefaultError", message: "DEFAULT ERROR CALLBACK!", data: Arguments[1], _getStackTrace: function}
根据日志,解析器(使用 JayData)的每个阶段都成功完成了读取和写入。然而,该数据库通常具有尚未填充的表。所有表都在相同的上下文中打开并使用控制$.Deferreds.
JayData 认为它已完成交易并且错误实际上告诉我是不是“误报”?
打开数据库(在 JayData 之外)并在context
打开(但未使用)时修改表是否有问题?
更新
按照评论中的说明进行操作。
源在第 424 行抛出异常-items[i].physicalData.initData = item.rows[0];