如何解决序列化“创建”而不将数据插入到sqlite
我有一个简单的程序,使用Electron和Sequelize配置了SQLite,我试图将数据保存到数据库中,但是数据没有保存在数据库中,也没有弹出错误。
这是我的配置。
-
配置文件夹
i。 config.json
{ "development": { "username": null,"password": null,"database": "main","host": "localhost","dialect": "sqlite","storage": "data.sqlite3" },"test": { "username": null,"production": { "username": null,"storage": "data.sqlite3" } }
-
在模型文件夹中
i。 index.js文件
'use strict'; const fs = require('fs'); const path = require('path'); const Sequelize = require('sequelize'); const basename = path.basename(__filename); const env = process.env.NODE_ENV || 'development'; const config = require(__dirname + '/../config/config.json')[env]; const db = {}; let sequelize; if (config.use_env_variable) { sequelize = new Sequelize(process.env[config.use_env_variable],config); } else { sequelize = new Sequelize(config.database,config.username,config.password,config); } fs .readdirSync(__dirname) .filter(file => { return (file.indexOf('.') !== 0) && (file !== basename) && (file.slice(-3) === '.js'); }) .forEach(file => { const model = require(path.join(__dirname,file))(sequelize,Sequelize.DataTypes); db[model.name] = model; }); Object.keys(db).forEach(modelName => { if (db[modelName].associate) { db[modelName].associate(db); } }); db.sequelize = sequelize; db.Sequelize = Sequelize; module.exports = db;
然后,我以第一个迁移身份创建
npx sequelize-cli模型:生成--name用户-属性firstName:string,lastName:string,email:string
然后成功创建用户模型,
ii。 user.js
'use strict';
const {
Model
} = require('sequelize');
module.exports = (sequelize,DataTypes) => {
class User extends Model {
/**
* Helper method for defining associations.
* This method is not a part of Sequelize lifecycle.
* The `models/index` file will call this method automatically.
*/
static associate(models) {
// define association here
}
};
User.init({
firstName: DataTypes.STRING,lastName: DataTypes.STRING,email: DataTypes.STRING
},{
sequelize,modelName: 'User',});
return User;
};
然后我执行迁移命令并成功创建数据库以及User表。
npx sequelize-cli db:migrate
最后,我尝试将数据另存为,
var User = require('../../models/index').User;
const jane = await User.create({ firstName: "jane" });
没有弹出错误,但数据没有插入数据库。在控制台中打印,
Executing (default): INSERT INTO `Users` (`id`,`firstName`,`createdAt`,`updatedAt`) VALUES
(NULL,$1,$2,$3);
有什么办法解决这个问题吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。