Я использую Sequelize с sqlite, и при попытке вставить данные в таблицу выдает ошибку
Executing (default): INSERT INTO `Users` (`id`,`username`,`password`,`createdAt`,`updatedAt`)
VALUES (NULL,$1,$2,$3,$4);
{ SequelizeDatabaseError: SQLITE_ERROR: no such table: Users
Я использую sequelize-cli для выполнения миграций.
Это моя файловая структура img
файловая структура
globalConfigs.js
const dotenv = require('dotenv');
dotenv.config({
path: './config.env'
});
module.exports = {
port: process.env.PORT || 9000,
database: {
dialect: 'sqlite',
sotrage: './MVC/db/dbFiles/portfolioDB.sqlite'
}
};
dbConnectorConfig.js
const globalConfigs = require('../globalConfigs/globalconfigs');
const Sequelize = require('sequelize');
const sequelize = new Sequelize(
globalConfigs.database
);
module.exports = sequelize;
userModel.js
const Sequelize = require("sequelize");
const sequelize = require("../db/dbConnectorConfigs");
module.exports = sequelize.define("User", {
id: {
type: Sequelize.INTEGER(11),
allowNull: false,
autoIncrement: true,
primaryKey: true,
},
username: {
type: Sequelize.STRING(35),
allowNull: false,
unique: true
},
password: {
type: Sequelize.STRING(20),
allowNull: false
}
});
работает: выполнить миграцию по очереди: создать --name user_table
Я получаю файл
'use strict';
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.createTable('users', {
id: {
type: Sequelize.INTEGER(11),
allowNull: false,
autoIncrement: true,
primaryKey: true,
},
username: {
type: Sequelize.STRING(35),
allowNull: false,
unique: true
},
password: {
type: Sequelize.STRING(20),
allowNull: false
},
createdAt: Sequelize.DATE,
updatedAt: Sequelize.DATE
});
},
down: (queryInterface, Sequelize) => {
return queryInterface.dropTable('users');
}
};
Это файл config.json, сгенерированный sequelize-cli
{
"development": {
"username": "root",
"password": null,
"host": "127.0.0.1",
"dialect": "sqlite",
"storage": "./db/dbFiles/portfolio.sqlite"
},
"test": {
"username": "root",
"password": null,
"database": "database_test",
"host": "127.0.0.1",
"dialect": "mysql",
"operatorsAliases": false
},
"production": {
"username": "root",
"password": null,
"database": "database_production",
"host": "127.0.0.1",
"dialect": "mysql",
"operatorsAliases": false
}
}
это файл, в котором пользовательская модель создает пользователя
authenticationController.js
const User = require("../models/userModel");
exports.createUser = async (req, res, next) => {
const user_created = await User.create({
username: "userteste",
password: "password"
});
};