Я использую knex js как sql builder.
С локальным pg все работает нормально. После развертывания, когда я делаю почтовый запрос, я вижу в журналах, что ошибки нет.
У меня также есть маршрут, по которому я получаю всех зарегистрированных клиентов, и я вижу там также недавно отправленного зарегистрированного клиента. Но через некоторое время вновь зарегистрированный пользователь ушел.
Когда я go на вкладке ресурсов в приложении Heroku, я все еще вижу 0/10 000 строк в таблице и когда появляется сообщение об успешном выполнении почтового запроса Показано. Почему?
Мой почтовый запрос
async function postCustomer(user){
const existing = await db.select('*').from('customer').where('email', user.email).reduce(helpers.getFirst);
if (!existing) {
const password = user.password ? await helpers.createBcryptHash(user.password): '';
const newUser = {
id: helpers.generateUuid(),
email: user.email,
first_name:user.first_name,
password
};
await db.insert(newUser).into('customer');
return { success: true, user: getCleanUserAndJwt(newUser), registered: true };
} else {
return { success: false, message: "User already exists." };
}
}
Procfile
web: knex migrate:rollback && knex migrate:latest && knex seed:run && node server.js
knex. js
var environment = process.env.NODE_ENV || 'development';
console.log("environment", process.env.NODE_ENV)
var config = require('../knexfile.js')[environment];
module.exports = require('knex')(config);
knexfile. js
module.exports = {
development: {
client: 'pg',
connection: 'postgres://localhost/todosvideo',
migrations: {
directory: __dirname + '/db/migrations',
},
seeds: {
directory: __dirname + '/db/seeds',
},
},
production: {
client: 'pg',
connection: process.env.DATABASE_URL,
migrations: {
directory: __dirname + '/db/migrations',
},
seeds: {
directory: __dirname + '/db/seeds',
},
},
};