指南 參考 原始碼
public class | source

PostgresQueryInterface

繼承自

QueryInterface → PostgresQueryInterface

Sequelize 用來與 Postgres 資料庫溝通的介面

方法摘要

公開方法
public

async dropAllEnums(options: object): Promise

從資料庫中刪除所有列舉 (僅限 Postgres)

public

async dropEnum(enumName: string, options: object): Promise

從資料庫中刪除指定的列舉 (僅限 Postgres)

public

async dropTable(tableName: *, options: *)

由於 postgres 對於列舉有特殊情況,我們應該在表格和屬性中刪除相關的列舉類型

public

async getForeignKeyReferencesForTable(table: *, options: *): *

public

async pgListEnums(tableName: string, options: object): Promise

列出所有列舉 (僅限 Postgres)

繼承摘要

來自類別 QueryInterface
public

async addColumn(table: string, key: string, attribute: object, options: object): Promise

在表格中新增一個新的欄位

public

async addConstraint(tableName: string, options: object): Promise

在表格中新增一個約束

public

async addIndex(tableName: string | object, attributes: Array, options: object, rawTablename: string): Promise

在欄位中新增一個索引

public

async bulkDelete(tableName: string, where: object, options: object, model: Model): Promise

從表格中刪除多筆記錄

public

async bulkInsert(tableName: string, records: Array, options: object, attributes: object): Promise

將多筆記錄插入表格

public

async bulkUpdate(tableName: string, values: object, identifier: object, options: object, attributes: object): Promise

更新表格中的多筆記錄

public

async changeColumn(tableName: string, attributeName: string, dataTypeOrOptions: object, options: object): *

變更欄位定義

public

async createDatabase(database: string, options: object): Promise

建立資料庫

public

async createFunction(functionName: string, params: Array, returnType: string, language: string, body: string, optionsArray: Array, options: object): Promise

建立 SQL 函式

public

async createSchema(schema: string, options: object): Promise

建立綱要

public

async createTable(tableName: string, attributes: object, options: object, model: Model): Promise

使用給定的一組屬性建立表格

public

async describeTable(tableName: string, options: object): Promise<object>

描述表格結構

public

async dropAllSchemas(options: object): Promise

刪除所有綱要

public

async dropAllTables(options: object): Promise

從資料庫中刪除所有表格

public

async dropDatabase(database: string, options: object): Promise

刪除資料庫

public

async dropFunction(functionName: string, params: Array, options: object): Promise

刪除 SQL 函數

public

async dropSchema(schema: string, options: object): Promise

刪除綱要 (schema)

public

async dropTable(tableName: string, options: object): Promise

從資料庫中刪除表格

public

async getForeignKeyReferencesForTable(tableName: string, options: object): *

取得表格的外鍵參考詳細資訊

public

async getForeignKeysForTables(tableNames: string[], options: object): Promise

傳回所請求表格的所有外鍵約束

public

quoteIdentifier(identifier: string, force: boolean): string

將識別符號列表以「.」分割並為每個部分加上引號

public

quoteIdentifiers(identifiers: string): string

將識別符號列表以「.」分割並為每個部分加上引號。

public

async removeColumn(tableName: string, attributeName: string, options: object): *

從表格中移除欄位

public

async removeConstraint(tableName: string, constraintName: string, options: object): *

從表格中移除約束

public

async removeIndex(tableName: string, indexNameOrAttributes: string | string[], options: object): Promise

從表格中移除已存在的索引

public

async renameColumn(tableName: string, attrNameBefore: string, attrNameAfter: string, options: object): Promise

重新命名欄位

public

async renameFunction(oldFunctionName: string, params: Array, newFunctionName: string, options: object): Promise

重新命名 SQL 函數

public

async renameTable(before: string, after: string, options: object): Promise

重新命名表格

public

async showAllSchemas(options: object): Promise<Array>

顯示所有綱要 (schema)

public

async tableExists(tableName: TableName, options: QueryOptions): Promise<boolean>

傳回一個 Promise,如果表格存在於資料庫中則解析為 true,否則為 false。

public

async upsert(tableName: string, insertValues: object, updateValues: object, where: object, options: object): Promise<boolean, ?number>

更新或插入 (Upsert)

公開方法

public async dropAllEnums(options: object): Promise source

從資料庫中刪除所有列舉 (僅限 Postgres)

參數

名稱類型屬性描述
options object

查詢選項

傳回

Promise

public async dropEnum(enumName: string, options: object): Promise source

從資料庫中刪除指定的列舉 (僅限 Postgres)

參數

名稱類型屬性描述
enumName string
  • 選填

要刪除的列舉名稱

options object

查詢選項

傳回

Promise

public async dropTable(tableName: *, options: *) source

由於 postgres 對於列舉有特殊情況,我們應該在表格和屬性中刪除相關的列舉類型

覆寫

QueryInterface#dropTable

參數

名稱類型屬性描述
tableName *
options *

public async getForeignKeyReferencesForTable(table: *, options: *): * source

取得表格的外鍵參考詳細資訊

這些詳細資訊包含 constraintSchema、constraintName、constraintCatalog tableCatalog、tableSchema、tableName、columnName、referencedTableCatalog、referencedTableCatalog、referencedTableSchema、referencedTableName、referencedColumnName。提醒:如果它是 sqlite,則不會傳回約束資訊。

覆寫

QueryInterface#getForeignKeyReferencesForTable

參數

名稱類型屬性描述
table *
options *

傳回

*

public async pgListEnums(tableName: string, options: object): Promise source

列出所有列舉 (僅限 Postgres)

參數

名稱類型屬性描述
tableName string
  • 選填

要列出列舉的表格

options object
  • 選填

查詢選項

傳回

Promise