尝试使用邮递员将用户发布到sqlite数据库时收到错误

时间:2018-12-05 06:26:04

标签: node.js sqlite express knex.js

尝试将用户发布到我的用户数据库时出现此错误。我之前已经做过类似的项目,但从未遇到此错误。

“ errno”:14     “代码”:“ SQLITE_CANTOPEN”

我已经查看了此问题,但是大多数都没有解决方案或未使用knex。 编辑:添加了knexfile.js。

//-----------my routes file---------
// imports
const axios = require("axios");
const bcrypt = require("bcryptjs");
const db = require("../../../data/dbConfig");

// import middlewares from file
const { generateToken, protected } = require("../../middlewares/middlewares");

// exports
module.exports = server => {
  server.post("/api/post/usertodb", createUser);
  server.get("/api/get/userfromdb"), getUser;
};

function createUser(req, res) {
  const newUser = req.body;
  console.log(db);
  db("users")
    .insert(newUser)
    .then(ids => res.status(201).json(ids[0]))
    .catch(err => res.status(500).json(err));
}

//--------my dbConfig file is-----------
const knex = require("knex");
const knexConfig = require("../knexfile");

module.exports = knex(knexConfig.development);



//--------my server.js file-------------
// imports
const express = require("express");
const cors = require("cors");

// configure routes
const configureRoutes = require("../config/routes/users/userRoutes");

// instantiate server
const server = express();
server.use(express.json());
server.use(cors());
configureRoutes(server);

// export server
module.exports = {
  server
};

//----------knexfile.js---------
    module.exports = {
      development: {
        client: "sqlite3",
        connection: {
          filename: "./data/filmsydb.sqlite3"
        },
        useNullAsDefault: true,
        migrations: {
          directory: "./data/migrations"
        },
        seeds: {
          directory: "./data/seeds"
        }
      }
    }

1 个答案:

答案 0 :(得分:0)

这是一个权限问题。我只是将文件夹从其所在的文件夹中移出,并且可以正常工作。