Server: Add postgresql indexes

pull/30/head
Chocobozzz 2016-12-29 09:33:28 +01:00
parent 67bf9b96bb
commit 319d072e8e
9 changed files with 104 additions and 13 deletions

View File

@ -17,6 +17,14 @@ module.exports = function (sequelize, DataTypes) {
}
},
{
indexes: [
{
fields: [ 'name' ]
},
{
fields: [ 'podId' ]
}
],
classMethods: {
associate
}

View File

@ -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)
}

View File

@ -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) {

View File

@ -35,6 +35,14 @@ module.exports = function (sequelize, DataTypes) {
}
},
{
indexes: [
{
fields: [ 'host' ]
},
{
fields: [ 'score' ]
}
],
classMethods: {
associate,

View File

@ -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
}

View File

@ -11,6 +11,13 @@ module.exports = function (sequelize, DataTypes) {
}
},
{
timestamps: false,
indexes: [
{
fields: [ 'name' ],
unique: true
}
],
classMethods: {
associate
}

View File

@ -38,6 +38,11 @@ module.exports = function (sequelize, DataTypes) {
}
},
{
indexes: [
{
fields: [ 'username' ]
}
],
classMethods: {
associate,

View File

@ -82,6 +82,26 @@ module.exports = function (sequelize, DataTypes) {
}
},
{
indexes: [
{
fields: [ 'authorId' ]
},
{
fields: [ 'remoteId' ]
},
{
fields: [ 'name' ]
},
{
fields: [ 'createdAt' ]
},
{
fields: [ 'duration' ]
},
{
fields: [ 'infoHash' ]
}
],
classMethods: {
associate,

View File

@ -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
}