我的Seq外键未在我的postgres表中设置:Profie-用户

时间:2019-07-13 20:58:12

标签: node.js postgresql sequelize.js

我有一个使用续集构建的postgres数据库。我有一个用户对象和一个配置文件对象。我希望有一个将用户与我在配置文件表中设置的外键链接的外键。

代码:

const seq = require('sequelize');
const { postgres } = require('../../index');
const { user } = require('./user');
// const { picture, backgroundImage } = require('./ProfileAttachments');

const profile = postgres.define(
  "profile",
  {
    id: {
      type: seq.INTEGER,
      primaryKey: true,
      autoIncrement: true
    },
    bio: {
      type: seq.STRING,
      null: true
    },
    facebook: {
      type: seq.STRING,
      null: true,
      validate: {
        isUrl:  true,
      }
    },
    twitter: {
      type: seq.STRING,
      null: true,
      validate: {
        isUrl:  true,
      }
    },
    website: {
      type: seq.STRING,
      null: true,
      validate: {
        isUrl:  true,
      }
    },
  },{
    createdAt:  seq.DATE,
    updatedAt:  seq.DATE,
  },
  postgres.sync()
    .then(() => {
      console.log("Profile table is synced")
    })
    .catch((error) => {
      console.log("caught error with Profile:  " + error)
    })
);

// picture.addTo(profile);
// backgroundImage.addTo(profile);

user.hasOne(profile)

module.exports.profile = profile

这是我的桌子

splitter=# \d+ profiles;
 id       | integer                  |           | not null | nextval('profiles_id_seq'::regclass) | plain    |              | 
 bio      | character varying(255)   |           |          |                                      | extended |              | 
 facebook | character varying(255)   |           |          |                                      | extended |              | 
 twitter  | character varying(255)   |           |          |                                      | extended |              | 
 website  | character varying(255)   |           |          |                                      | extended |              | 
 DATE     | timestamp with time zone |           | not null |                                      | plain    |              | 

splitter=# 

我尝试同时做user.hasOne(profile)profile.hasOne(user)

我第一次同步数据库时确实出现了外键。我改变了一些东西然后消失了,我不确定那是怎么发生的。有人可以帮忙吗?我很确定这是我看不到的小东西。

0 个答案:

没有答案