Server: Add postgresql indexes
This commit is contained in:
parent
67bf9b96bb
commit
319d072e8e
9 changed files with 104 additions and 13 deletions
|
@ -17,6 +17,14 @@ module.exports = function (sequelize, DataTypes) {
|
|||
}
|
||||
},
|
||||
{
|
||||
indexes: [
|
||||
{
|
||||
fields: [ 'name' ]
|
||||
},
|
||||
{
|
||||
fields: [ 'podId' ]
|
||||
}
|
||||
],
|
||||
classMethods: {
|
||||
associate
|
||||
}
|
||||
|
|
|
@ -19,9 +19,17 @@ module.exports = function (sequelize, DataTypes) {
|
|||
}
|
||||
},
|
||||
{
|
||||
indexes: [
|
||||
{
|
||||
fields: [ 'clientId' ],
|
||||
unique: true
|
||||
},
|
||||
{
|
||||
fields: [ 'clientId', 'clientSecret' ],
|
||||
unique: true
|
||||
}
|
||||
],
|
||||
classMethods: {
|
||||
associate,
|
||||
|
||||
getByIdAndSecret,
|
||||
list,
|
||||
loadFirstClient
|
||||
|
@ -34,16 +42,6 @@ module.exports = function (sequelize, DataTypes) {
|
|||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
function associate (models) {
|
||||
this.hasMany(models.OAuthToken, {
|
||||
foreignKey: {
|
||||
name: 'oAuthClientId',
|
||||
allowNull: false
|
||||
},
|
||||
onDelete: 'cascade'
|
||||
})
|
||||
}
|
||||
|
||||
function list (callback) {
|
||||
return this.findAll().asCallback(callback)
|
||||
}
|
||||
|
|
|
@ -25,6 +25,22 @@ module.exports = function (sequelize, DataTypes) {
|
|||
}
|
||||
},
|
||||
{
|
||||
indexes: [
|
||||
{
|
||||
fields: [ 'refreshToken' ],
|
||||
unique: true
|
||||
},
|
||||
{
|
||||
fields: [ 'accessToken' ],
|
||||
unique: true
|
||||
},
|
||||
{
|
||||
fields: [ 'userId' ]
|
||||
},
|
||||
{
|
||||
fields: [ 'oAuthClientId' ]
|
||||
}
|
||||
],
|
||||
classMethods: {
|
||||
associate,
|
||||
|
||||
|
@ -49,6 +65,14 @@ function associate (models) {
|
|||
},
|
||||
onDelete: 'cascade'
|
||||
})
|
||||
|
||||
this.belongsTo(models.OAuthClient, {
|
||||
foreignKey: {
|
||||
name: 'oAuthClientId',
|
||||
allowNull: false
|
||||
},
|
||||
onDelete: 'cascade'
|
||||
})
|
||||
}
|
||||
|
||||
function getByRefreshTokenAndPopulateClient (refreshToken) {
|
||||
|
|
|
@ -35,6 +35,14 @@ module.exports = function (sequelize, DataTypes) {
|
|||
}
|
||||
},
|
||||
{
|
||||
indexes: [
|
||||
{
|
||||
fields: [ 'host' ]
|
||||
},
|
||||
{
|
||||
fields: [ 'score' ]
|
||||
}
|
||||
],
|
||||
classMethods: {
|
||||
associate,
|
||||
|
||||
|
|
|
@ -4,6 +4,18 @@
|
|||
|
||||
module.exports = function (sequelize, DataTypes) {
|
||||
const RequestToPod = sequelize.define('RequestToPod', {}, {
|
||||
indexes: [
|
||||
{
|
||||
fields: [ 'requestId' ]
|
||||
},
|
||||
{
|
||||
fields: [ 'podId' ]
|
||||
},
|
||||
{
|
||||
fields: [ 'requestId', 'podId' ],
|
||||
unique: true
|
||||
}
|
||||
],
|
||||
classMethods: {
|
||||
removePodOf
|
||||
}
|
||||
|
|
|
@ -11,6 +11,13 @@ module.exports = function (sequelize, DataTypes) {
|
|||
}
|
||||
},
|
||||
{
|
||||
timestamps: false,
|
||||
indexes: [
|
||||
{
|
||||
fields: [ 'name' ],
|
||||
unique: true
|
||||
}
|
||||
],
|
||||
classMethods: {
|
||||
associate
|
||||
}
|
||||
|
|
|
@ -38,6 +38,11 @@ module.exports = function (sequelize, DataTypes) {
|
|||
}
|
||||
},
|
||||
{
|
||||
indexes: [
|
||||
{
|
||||
fields: [ 'username' ]
|
||||
}
|
||||
],
|
||||
classMethods: {
|
||||
associate,
|
||||
|
||||
|
|
|
@ -82,6 +82,26 @@ module.exports = function (sequelize, DataTypes) {
|
|||
}
|
||||
},
|
||||
{
|
||||
indexes: [
|
||||
{
|
||||
fields: [ 'authorId' ]
|
||||
},
|
||||
{
|
||||
fields: [ 'remoteId' ]
|
||||
},
|
||||
{
|
||||
fields: [ 'name' ]
|
||||
},
|
||||
{
|
||||
fields: [ 'createdAt' ]
|
||||
},
|
||||
{
|
||||
fields: [ 'duration' ]
|
||||
},
|
||||
{
|
||||
fields: [ 'infoHash' ]
|
||||
}
|
||||
],
|
||||
classMethods: {
|
||||
associate,
|
||||
|
||||
|
|
|
@ -3,7 +3,16 @@
|
|||
// ---------------------------------------------------------------------------
|
||||
|
||||
module.exports = function (sequelize, DataTypes) {
|
||||
const VideoTag = sequelize.define('VideoTag', {}, {})
|
||||
const VideoTag = sequelize.define('VideoTag', {}, {
|
||||
indexes: [
|
||||
{
|
||||
fields: [ 'videoId' ]
|
||||
},
|
||||
{
|
||||
fields: [ 'tagId' ]
|
||||
}
|
||||
]
|
||||
})
|
||||
|
||||
return VideoTag
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue