Заполнение только работает, когда атрибуты не совпадают - PullRequest
0 голосов
/ 31 октября 2019

Резюме Я работаю над приложением, созданным с помощью backend в postgresql (написано в sequelize) и api в express. Я хочу заполнить базу данных, чтобы проверить конечные точки и запустить приложение, щелкнув по нему.

Подробности Когда я заполняю базу данных с неправильными атрибутами, она работает, но вставляет нулевые значения. Мне нужно ненулевые значения для моего приложения для работы.

Вот код заполнения

const USER = [
  {id: 1, username: 'Sally', password: 'zzoda', email: 'sally@gmail.com', bio: 'here are the things i want to include', photo:'../assets/images/sally.png'},
  {id: 2, username: 'noor', password: 'zzodaaaa', email: 'noor@gmail.com', bio: 'here are the things i want to include', photo:'../assets/images/sally.png'},
  {id: 3, username: 'narwal', password: 'narnar', email: 'nar@gmail.com', bio: 'here are the things i want to include', photo:'../assets/images/sally.png'},
];

const seed = () => {
  return db.sequelize.sync({force: true})
    .then(() => {
      // Create all the entries
      let userPromises = USER.map(u => User.create(u));
      // console.log(USER)
      return userPromises;
    })
}

Вот конечная точка, которую я сейчас тестирую

seed()

router.get('/', (req,res) => {
    User.findAll({})
        .then(users => res.json(users));
});

module.exports = router;

Я знаю, seed() возвращает обещание, и оно не выполняется, но оно работает, когда

const USER = [
  {id: 1, name: 'Action'},
  {id: 2, name: 'Comedy'},
  {id: 3, name: 'Drama'},
];

Так что я решил, что это не проблема.

Что выводит код Я ожидал объект со значениями, которые я посеял в этой конечной точке, но вместо этого я получил это: []

Дополнительная информация:

Я также распечатал ПОЛЬЗОВАТЕЛИ после карты, и она напечатала правильные значения, которые я хотел вернуть с обещанием.

Когда я развернул обещание и распечатал его, он вернул еще одно обещание .... Вот как я его печатал: seed().then((elem) => console.log(elem))

...