在开发sails应用程序时,我希望使用一些简单的值来测试该应用程序。(因此,即使不是集成测试,也只是为了看看它是否使用单个值)。
对于开发,我使用connection.js下的基于磁盘的本地sails数据库:

localDiskDb: {
  adapter: 'sails-disk'
},

在models.js文件下:
connection: 'localDiskDb',

但是这会导致一个小问题:数据库是正确生成的:但是我不能手动修改它。如果我试图在“dbbrowserforsqlite”中打开它,我会弹出一个弹出窗口,显示无法打开数据库或数据库已加密。
那么基于磁盘的sails数据库使用什么格式?我如何手动修改它来填充一些简单的数据呢?

最佳答案

使用sails-disk将数据以json格式存储在平面文件中。
通常,它位于项目的.tmp文件中,在您第一次启动sails应用程序时生成。
在您提供的示例中,到sails磁盘的连接名为localdiskdb,因此您的数据库将被创建为localdiskdb.db。
由于sails磁盘将数据存储在平面文件中,因此可以使用任何文本编辑器将数据填充到数据库中。
要将数据添加到特定模型中,以下是您可以执行的操作的示例。在这种情况下,对于用户模型:
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磁盘是一个平面文件db,它不可扩展,不应在开发/测试环境以外的任何环境中使用。

10-08 08:35
查看更多