在开发sails应用程序时,我希望使用一些简单的值来测试应用程序。 (所以甚至不是集成测试,只是为了看它是否适用于单个值)。
对于开发,我在connection.js:
下使用基于本地sails磁盘的数据库localDiskDb: {
adapter: 'sails-disk'
},
并在models.js文件下:
connection: 'localDiskDb',
然而,这会导致一个小问题:数据库正确生成:但是我无法手动修改它。如果我尝试在" DB浏览器中打开sqlite"我得到了弹出窗口,数据库无法打开或加密。
那么基于磁盘的sails数据库使用什么格式?如何手动修改它以使用一些简单的数据填充它?
答案 0 :(得分:1)
使用sails-disk以JSON格式将数据存储在平面文件中。
通常,它位于项目的.tmp文件中,并在您第一次提起风帆应用程序时生成。
在您提供的示例中,与sails-disk的连接名为localDiskDb,因此您的数据库将创建为localDiskDb.db。
由于sails-disk将数据存储在平面文件中,您可以使用任何文本编辑器将数据填充到数据库中。
要将数据添加到特定模型,以下是您可能执行的操作的示例。在这种情况下,对于用户模型:
1在您的应用程序中创建模型。
2从控制台提起应用程序。
3在文本编辑器中打开localDiskDb.db,您将看到模型对象的表示和模型的空数组,在这种情况下:
"user" : [],
4使用JSON格式的虚拟数据填充模型:
"user" : [{
"username": "john_smith",
"email": "john_smith@test.com",
"pass": "$2a$10$NO6gcP6t01ouRxImoDOXdOn5WbyLO2OPh0orgMvSBYVrOCWwpEuHW",
"id": "91d4c89a-9049-41de-8c9c-34225e6bc86c",
"createdAt": "2017-12-07T16:57:00.124Z",
"updatedAt": "2017-12-07T16:57:00.124Z"
}],
5保存平面文件localDiskDb.db后,该用户即可在您的应用程序中使用。
有一点需要注意,因为sails-disk是一个平面文件DB,它不能扩展,不应该用于开发/测试环境以外的任何其他内容。
答案 1 :(得分:0)
我认为默认是JSON格式的文件。默认情况下,它应保存在.tmp/
文件夹中(与assets/
平行,api/
等)
尝试寻找.tmp/localDiskDb.db
。我在第一次风帆项目的早期就能手动修改这个文件。