在开发帆应用程序时,我希望使用一些简单的值来测试应用程序。(所以甚至不是集成测试,只是为了看看它是否适用于单个值)。
对于开发,我在连接.js下使用基于本地 sails 磁盘的数据库:
localDiskDb: {
adapter: 'sails-disk'
},
并在模型.js文件下:
connection: 'localDiskDb',
但是这会导致一个小问题:数据库已正确生成:但是我无法手动修改它。如果我尝试在"sqlite 数据库浏览器"中打开它,我会收到无法打开数据库或已加密的弹出窗口。
那么基于磁盘的帆数据库使用什么格式呢?我如何手动修改它以用一些简单的数据填充它?
使用 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,它无法扩展,也不应在开发/测试环境以外的任何环境中使用。
我认为默认是 JSON 格式的文件。默认情况下,它应该保存在您的.tmp/
文件夹中(与assets/
,api/
等并行)
尝试寻找.tmp/localDiskDb.db
。在我的第一个帆项目早期,我能够手动修改这个文件。