Вот мой код клиента Apollo:
mutation {
createUser(user_id: 3333, username: "third user", email: "third@email.com", password: "supersecret"){
user_id
username
email
password
}
}
И ниже моя схема typedef:
const typeDef = gql
`
type Query {
"These are the queries we define in our query type"
me(user_id: ID): User
}
"How to define the structure of user? Below is an object type that does this:"
type User {
user_id: ID,
username: String,
email: String,
password: String
}
type Mutation {
createUser(username: String!, email: String!, password: String, user_id: ID): User!
}
`;
Далее, я использую sequalize ORM с postgres, и мой dbIndex это:
const Sequelize = require('sequelize');
require('dotenv').config();
const sortDb = new Sequelize(
`${process.env.DATABASE}`,
process.env.DATABASE_USER,
process.env.DATABASE_PASSWORD,
{
dialect: 'postgres',
},
);
sortDb
.authenticate()
.then(() => {
console.log('Connected to SORT MY MIND DB');
})
.catch((err) => {
console.error('Unable to connect to DB', err);
});
// create a DB model which will correspond to
const account = sortDb.define('account', {
user_id: {type: Sequelize.INTEGER},
username: {type: Sequelize.STRING},
passowrd: {type: Sequelize.STRING},
email: {type: Sequelize.STRING}
});
module.exports.account = account;
Мой запрос работает отлично и получает данные из моей таблицы postgres.Почему не работает мутация?Я вижу следующую ошибку: «Выполнение (по умолчанию): INSERT INTO» account »(« id »,« user_id »,« username »,« email »,« creationAt »,« updatedAt ») ЗНАЧЕНИЯ (ПО УМОЛЧАНИЮ, $ 1, $ 2,$ 3, $ 4, $ 5) RETURNING *; необработанное отклонение SequelizeDatabaseError: нулевое значение в столбце «пароль» нарушает ненулевое ограничение ».
Это явно означает, что клиент Apollo пытается оскорбить все нулевые значения в моей таблице.Как я могу это исправить?