node.js - 我如何设置我的后端服务器而不会在每次重启时覆盖数据

标签 node.js sequelize.js

我已经使用 node、express、sequelize 和 nodemon 创建了我的第一个后端服务器。我还设置了我想要的表,并在运行时初始化我想要输入到设置表中的数据(以节省我再次输入的时间)。还有我在 pgamdin 浏览器上手动输入的单独数据和我通过 CRUD 函数输入的其他数据。目前我无法输入大量数据,因为我的表格不断标记错误,而且看起来它们被覆盖了。
我无法让我的服务器稳定运行,我不确定它是否与我的 server.js 文件中的以下代码有关。 “强制为真”是否意味着每次运行服务器时都会覆盖现有的表数据,还是我需要添加“如果表存在”类型的函数?如果我要添加一个外键,整个表会被覆盖吗?
我认为最佳实践是拥有用于创建表的代码,并且我之前在使用 PHP 时在 phpmyadmin 上创建了自己的表。但是,由于这是我第一次创建后端服务器并使用 sequelize ORM,并且不想继续丢失我输入的数据。

db.sequelize.sync({ force: true})
    .then(() => {
    console.log(`Drop and resync database with { force: true } `)
    initial();
});

最佳答案

您正在使用 {force: true} ,它等效于 DROP TABLE IF EXISTS 。因此,每当您重新启动服务器时,它都会删除现有表和数据。所以,如果你不想丢失你的数据,我建议你删除 {force: true}

关于node.js - 我如何设置我的后端服务器而不会在每次重启时覆盖数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65583868/

相关文章:

javascript - Extend() 内的 Bookshelf JS 函数

node.js - React Context API、大数组和应用速度

node.js - 如果 sequelize.sync() 不存在,创建 mssql 数据库的方法?

javascript - 在嵌套的 then 和 promises ExpressJS/NodeJs 中返回错误

sequelize.js - 如何使用 Sequelize ORM `include` 同一模型的两个单独引用?

node.js - sails.js sails.services 和 sails.models 不包含我的服务和方法

mysql - Bookshelf(knex) - belongsToMany 关系不起作用

javascript - 10 个异步调用的 Node js 聚合响应

mysql - 使用 For 循环迭代异步函数(数据库查询,Node.js)

javascript - "Sequelize is not a constructor"初始化 Sequelize 时