PostgreSQL, relationships - regular column created but there is no foreign key
- Dominant language
- JavaScript
- Stars
- 2k
- Forks
- 238
- PR merge metrics
- No merged PRs in 30d
Description
Code example:
```
var schema = new Schema(driverType, connectionConfig);
var UserToken = schema.define('UserToken', {
token: {type: String, index: true}
}, {
tablename: 'user_token'
});
var User = schema.define('User', {
email: {type: String, allowNull: false, index: true},
password_hash: String,
first_name: String,
last_name: String,
role: {type: String, allowNull: false, default: 'member'},
language: {type: String, default: 'en'},
api_key: String,
active: {type: Boolean, allowNull: false, default: true},
confirmed: Date,
created: {type: Date, default: Date.now},
modified: Date
}, {
tablename: 'users'
});
User.hasMany(UserToken, {as: 'tokens', foreignKey: 'userId'});
UserToken.belongsTo(User, {as: 'user', foreignKey: 'userId'});
schema.automigrate();
```
Got DDLs:
```
CREATE TABLE public."UserToken" (
id serial NOT NULL DEFAULT nextval('"UserToken_id_seq"'::regclass),
token varchar,
"userId" int4,
CONSTRAINT "UserToken_pkey" PRIMARY KEY (id)
);
CREATE TABLE public."User" (
id serial NOT NULL DEFAULT nextval('"User_id_seq"'::regclass),
email varchar NOT NULL,
password_hash varchar,
first_name varchar,
last_name varchar,
role varchar NOT NULL,
"language" varchar,
api_key varchar,
active bool NOT NULL,
confirmed timestamptz,
created timestamptz,
modified timestamptz,
CONSTRAINT "User_pkey" PRIMARY KEY (id)
);
```
So "userId" column created as regular int4, but there is no foreignKey. The use of foreign keys is the basic concept of relational databases, it's required for data integrity.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.