Saltar al contenido principal

API de QueryRunner

Traducción Beta No Oficial

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

Usa QueryRunner para modificar esquemas mediante API.

import {
MigrationInterface,
QueryRunner,
Table,
TableIndex,
TableColumn,
TableForeignKey,
} from "typeorm"

export class QuestionRefactoringTIMESTAMP implements MigrationInterface {
async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.createTable(
new Table({
name: "question",
columns: [
{
name: "id",
type: "int",
isPrimary: true,
},
{
name: "name",
type: "varchar",
},
],
}),
true,
)

await queryRunner.createIndex(
"question",
new TableIndex({
name: "IDX_QUESTION_NAME",
columnNames: ["name"],
}),
)

await queryRunner.createTable(
new Table({
name: "answer",
columns: [
{
name: "id",
type: "int",
isPrimary: true,
},
{
name: "name",
type: "varchar",
},
{
name: "created_at",
type: "timestamp",
default: "now()",
},
],
}),
true,
)

await queryRunner.addColumn(
"answer",
new TableColumn({
name: "questionId",
type: "int",
}),
)

await queryRunner.createForeignKey(
"answer",
new TableForeignKey({
columnNames: ["questionId"],
referencedColumnNames: ["id"],
referencedTableName: "question",
onDelete: "CASCADE",
}),
)
}

async down(queryRunner: QueryRunner): Promise<void> {
const table = await queryRunner.getTable("answer")
const foreignKey = table.foreignKeys.find(
(fk) => fk.columnNames.indexOf("questionId") !== -1,
)
await queryRunner.dropForeignKey("answer", foreignKey)
await queryRunner.dropColumn("answer", "questionId")
await queryRunner.dropTable("answer")
await queryRunner.dropIndex("question", "IDX_QUESTION_NAME")
await queryRunner.dropTable("question")
}
}

slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

getDatabases(): Promise<string[]>

Devuelve todos los nombres de bases de datos disponibles, incluyendo sistemas.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

getSchemas(database?: string): Promise<string[]>
  • database - Si se especifica este parámetro, devuelve los esquemas de esa base de datos

Devuelve nombres de esquemas disponibles, incluyendo sistemas. Útil para SQLServer y Postgres.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

getTable(tableName: string): Promise<Table|undefined>
  • tableName - Nombre de la tabla a cargar

Carga una tabla desde la base de datos por nombre.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

getTables(tableNames: string[]): Promise<Table[]>
  • tableNames - Nombres de las tablas a cargar

Carga tablas con los nombres especificados desde la base de datos.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

hasDatabase(database: string): Promise<boolean>
  • database - Nombre de la base de datos a verificar

Comprueba si existe una base de datos con el nombre dado.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

hasSchema(schema: string): Promise<boolean>
  • schema - Nombre del esquema a verificar

Comprueba si existe un esquema con el nombre dado. Solo se usa para SqlServer y Postgres.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

hasTable(table: Table|string): Promise<boolean>
  • table - Objeto Table o nombre de tabla

Verifica si existe la tabla.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

hasColumn(table: Table|string, columnName: string): Promise<boolean>
  • table - Objeto Table o nombre de tabla

  • columnName - Nombre de la columna a verificar

Comprueba si existe la columna en la tabla.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

createDatabase(database: string, ifNotExists?: boolean): Promise<void>
  • database - Nombre de la base de datos

  • ifNotExists - Si es true, ignora silenciosamente si la base de datos ya existe; de lo contrario lanza error (valor por defecto)

Crea una nueva base de datos.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

dropDatabase(database: string, ifExists?: boolean): Promise<void>
  • database - Nombre de la base de datos

  • ifExists - Si es true, ignora silenciosamente si la base de datos no existe; de lo contrario lanza error (valor por defecto)

Elimina una base de datos.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

createSchema(schemaPath: string, ifNotExists?: boolean): Promise<void>
  • schemaPath - Nombre del esquema. En SQLServer acepta rutas de esquema (ej. 'dbName.schemaName'). Si se pasa una ruta, creará el esquema en la base de datos especificada

  • ifNotExists - Si es true, ignora silenciosamente si el esquema ya existe; de lo contrario lanza error (valor por defecto)

Crea un nuevo esquema de tabla.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

dropSchema(schemaPath: string, ifExists?: boolean, isCascade?: boolean): Promise<void>
  • schemaPath - Nombre del esquema. En SQLServer acepta rutas de esquema (ej. 'dbName.schemaName'). Si se pasa una ruta, eliminará el esquema en la base de datos especificada

  • ifExists - Si es true, ignora silenciosamente si el esquema no existe; de lo contrario lanza error (valor por defecto)

  • isCascade - Si es true, elimina automáticamente objetos contenidos en el esquema (tablas, funciones, etc.). Solo se usa en Postgres

Elimina un esquema de tabla.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

createTable(table: Table, ifNotExists?: boolean, createForeignKeys?: boolean, createIndices?: boolean): Promise<void>
  • table - Objeto Table

  • ifNotExists - Si es true, ignora silenciosamente si la tabla ya existe; de lo contrario lanza error (valor por defecto)

  • createForeignKeys - Indica si se crearán llaves foráneas al crear la tabla. Valor por defecto: true

  • createIndices - Indica si se crearán índices al crear la tabla. Valor por defecto: true

Crea una nueva tabla.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

dropTable(table: Table|string, ifExists?: boolean, dropForeignKeys?: boolean, dropIndices?: boolean): Promise<void>
  • table - Objeto Table o nombre de tabla a eliminar

  • ifExists - Si es true, ignora silenciosamente si la tabla no existe; de lo contrario lanza error (valor por defecto)

  • dropForeignKeys - Indica si se eliminarán llaves foráneas al borrar la tabla. Valor por defecto: true

  • dropIndices - Indica si se eliminarán índices al borrar la tabla. Valor por defecto: true

Elimina una tabla.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

createView(view: View, syncWithMetadata?: boolean, oldView?: View): Promise<void>
  • view - Objeto View

  • syncWithMetadata - Indica si sincronizar la vista con metadatos (opcional)

  • oldView - Objeto View antiguo a reemplazar (opcional)

Crea una nueva vista.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

dropView(view: View|string, ifExists?: boolean): Promise<void>
  • view - Objeto View o nombre de vista a eliminar

  • ifExists - Si es true, ignora silenciosamente si la vista no existe; de lo contrario lanza error (valor por defecto)

Elimina una vista.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

renameTable(oldTableOrName: Table|string, newTableName: string): Promise<void>
  • oldTableOrName - Objeto Table antiguo o nombre a renombrar

  • newTableName - Nuevo nombre de tabla

Renombra una tabla.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

addColumn(table: Table|string, column: TableColumn): Promise<void>
  • table - Objeto Table o nombre de tabla

  • column - Nueva columna

Añade nuevas columnas.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

addColumns(table: Table|string, columns: TableColumn[]): Promise<void>
  • table - Objeto Table o nombre de tabla

  • columns - Nuevas columnas

Añade nuevas columnas.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

renameColumn(table: Table|string, oldColumnOrName: TableColumn|string, newColumnOrName: TableColumn|string): Promise<void>
  • table - Objeto Table o nombre de tabla

  • oldColumnOrName - Columna antigua. Acepta objeto TableColumn o nombre de columna

  • newColumnOrName - Nueva columna. Acepta objeto TableColumn o nombre de columna

Renombra una columna.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

changeColumn(table: Table|string, oldColumn: TableColumn|string, newColumn: TableColumn): Promise<void>
  • table - Objeto Table o nombre de tabla

  • oldColumn - Columna antigua. Acepta objeto TableColumn o nombre de columna

  • newColumn - Nueva columna. Acepta objeto TableColumn

Modifica una columna en la tabla.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

changeColumns(table: Table|string, changedColumns: { oldColumn: TableColumn, newColumn: TableColumn }[]): Promise<void>
  • table - Objeto Table o nombre de tabla

  • changedColumns - Arreglo de columnas modificadas:

    • oldColumn - Objeto TableColumn antiguo
    • newColumn - Nuevo objeto TableColumn

Modifica múltiples columnas en la tabla.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

dropColumn(table: Table|string, column: TableColumn|string, ifExists?: boolean): Promise<void>
  • table - Objeto Table o nombre de tabla

  • column - Objeto TableColumn o nombre de columna a eliminar

  • ifExists - Si es true, ignora silenciosamente si la columna no existe; de lo contrario lanza error (valor por defecto)

Elimina una columna de la tabla.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

dropColumns(table: Table|string, columns: TableColumn[]|string[], ifExists?: boolean): Promise<void>
  • table - Objeto Table o nombre de tabla

  • columns - Arreglo de objetos TableColumn o nombres de columnas a eliminar

  • ifExists - Si es true, ignora silenciosamente si las columnas no existen; de lo contrario lanza error (valor por defecto)

Elimina columnas de la tabla.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

createPrimaryKey(table: Table|string, columnNames: string[]): Promise<void>
  • table - Objeto Table o nombre de tabla

  • columnNames - Arreglo de nombres de columna que conformarán la clave primaria

Crea una nueva clave primaria.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

updatePrimaryKeys(table: Table|string, columns: TableColumn[]): Promise<void>
  • table - Objeto Table o nombre de tabla

  • columns - Arreglo de objetos TableColumn a actualizar

Actualiza claves primarias compuestas.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

dropPrimaryKey(table: Table|string, constraintName?: string, ifExists?: boolean): Promise<void>
  • table - Objeto Table o nombre de tabla

  • constraintName - Nombre de la restricción (opcional)

  • ifExists - Si es true, ignora silenciosamente si la clave primaria no existe; de lo contrario lanza error (valor por defecto)

Elimina una clave primaria.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

createUniqueConstraint(table: Table|string, uniqueConstraint: TableUnique): Promise<void>
  • table - Objeto Table o nombre de tabla

  • uniqueConstraint - Objeto TableUnique a crear

Crea una nueva restricción única.

Nota: No funciona en MySQL porque almacena restricciones únicas como índices únicos. Usa createIndex() en su lugar.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

createUniqueConstraints(table: Table|string, uniqueConstraints: TableUnique[]): Promise<void>
  • table - Objeto Table o nombre de tabla

  • uniqueConstraints - Arreglo de objetos TableUnique a crear

Crea múltiples restricciones únicas.

Nota: No funciona en MySQL porque almacena restricciones únicas como índices únicos. Usa createIndices() en su lugar.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

dropUniqueConstraint(table: Table|string, uniqueOrName: TableUnique|string, ifExists?: boolean): Promise<void>
  • table - Objeto Table o nombre de tabla

  • uniqueOrName - Objeto TableUnique o nombre de restricción única a eliminar

  • ifExists - si es true, ignora silenciosamente si la restricción no existe; de lo contrario lanza error (valor por defecto)

Elimina una restricción única.

Nota: No funciona en MySQL porque almacena restricciones únicas como índices únicos. Usa dropIndex() en su lugar.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

dropUniqueConstraints(table: Table|string, uniqueConstraints: TableUnique[], ifExists?: boolean): Promise<void>
  • table - Objeto Table o nombre de tabla

  • uniqueConstraints - Arreglo de objetos TableUnique a eliminar

  • ifExists - si es true, ignora silenciosamente si las restricciones no existen; de lo contrario lanza error (valor por defecto)

Elimina restricciones únicas.

Nota: no funciona en MySQL, porque MySQL almacena restricciones únicas como índices únicos. Usa el método dropIndices() en su lugar.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

createCheckConstraint(table: Table|string, checkConstraint: TableCheck): Promise<void>
  • table - Objeto Table o nombre de tabla

  • checkConstraint - Objeto TableCheck

Crea una nueva restricción de verificación.

Nota: MySQL no admite restricciones de verificación.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

createCheckConstraints(table: Table|string, checkConstraints: TableCheck[]): Promise<void>
  • table - Objeto Table o nombre de tabla

  • checkConstraints - Arreglo de objetos TableCheck

Crea una nueva restricción de verificación.

Nota: MySQL no admite restricciones de verificación.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

dropCheckConstraint(table: Table|string, checkOrName: TableCheck|string, ifExists?: boolean): Promise<void>
  • table - Objeto Table o nombre de tabla

  • checkOrName - Objeto TableCheck o nombre de restricción de verificación

  • ifExists - si es true, ignora silenciosamente si la restricción no existe; de lo contrario lanza error (valor por defecto)

Elimina una restricción CHECK.

Nota: MySQL no admite restricciones de verificación.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

dropCheckConstraints(table: Table|string, checkConstraints: TableCheck[], ifExists?: boolean): Promise<void>
  • table - Objeto Table o nombre de tabla

  • checkConstraints - Arreglo de objetos TableCheck

  • ifExists - si es true, ignora silenciosamente si las restricciones no existen; de lo contrario lanza error (valor por defecto)

Elimina restricciones de verificación.

Nota: MySQL no admite restricciones de verificación.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

createExclusionConstraint(table: Table|string, exclusionConstraint: TableExclusion): Promise<void>
  • table - Objeto Table o nombre de tabla

  • exclusionConstraint - Objeto TableExclusion

Crea una nueva restricción de exclusión.

Nota: solo PostgreSQL admite restricciones de exclusión.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

createExclusionConstraints(table: Table|string, exclusionConstraints: TableExclusion[]): Promise<void>
  • table - Objeto Table o nombre de tabla

  • exclusionConstraints - arreglo de objetos TableExclusion

Crea nuevas restricciones de exclusión.

Nota: solo PostgreSQL admite restricciones de exclusión.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

dropExclusionConstraint(table: Table|string, exclusionOrName: TableExclusion|string, ifExists?: boolean): Promise<void>
  • table - Objeto Table o nombre de tabla

  • exclusionOrName - Objeto TableExclusion o nombre de restricción de exclusión

  • ifExists - si es true, ignora silenciosamente si la restricción no existe; de lo contrario lanza error (valor por defecto)

Elimina una restricción de exclusión.

Nota: solo PostgreSQL admite restricciones de exclusión.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

dropExclusionConstraints(table: Table|string, exclusionConstraints: TableExclusion[], ifExists?: boolean): Promise<void>
  • table - Objeto Table o nombre de tabla

  • exclusionConstraints - arreglo de objetos TableExclusion

  • ifExists - si es true, ignora silenciosamente si las restricciones no existen; de lo contrario lanza error (valor por defecto)

Elimina múltiples restricciones de exclusión.

Nota: solo PostgreSQL admite restricciones de exclusión.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

createForeignKey(table: Table|string, foreignKey: TableForeignKey): Promise<void>
  • table - Objeto Table o nombre de tabla

  • foreignKey - Objeto TableForeignKey

Crea una nueva llave foránea.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

createForeignKeys(table: Table|string, foreignKeys: TableForeignKey[]): Promise<void>
  • table - Objeto Table o nombre de tabla

  • foreignKeys - Arreglo de objetos TableForeignKey

Crea nuevas llaves foráneas.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

dropForeignKey(table: Table|string, foreignKeyOrName: TableForeignKey|string, ifExists?: boolean): Promise<void>
  • table - Objeto Table o nombre de tabla

  • foreignKeyOrName - Objeto TableForeignKey o nombre de clave foránea

  • ifExists - si es true, ignora silenciosamente si la llave foránea no existe; de lo contrario lanza error (valor por defecto)

Elimina una llave foránea.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

dropForeignKeys(table: Table|string, foreignKeys: TableForeignKey[], ifExists?: boolean): Promise<void>
  • table - Objeto Table o nombre de tabla

  • foreignKeys - Arreglo de objetos TableForeignKey

  • ifExists - si es true, ignora silenciosamente si las llaves foráneas no existen; de lo contrario lanza error (valor por defecto)

Elimina llaves foráneas.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

createIndex(table: Table|string, index: TableIndex): Promise<void>
  • table - Objeto Table o nombre de tabla

  • index - Objeto TableIndex

Crea un nuevo índice.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

createIndices(table: Table|string, indices: TableIndex[]): Promise<void>
  • table - Objeto Table o nombre de tabla

  • indices - Arreglo de objetos TableIndex

Crea nuevos índices.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

dropIndex(table: Table|string, index: TableIndex|string, ifExists?: boolean): Promise<void>
  • table - Objeto Table o nombre de tabla

  • index - Objeto TableIndex o nombre de índice

  • ifExists - si es true, ignora silenciosamente si el índice no existe; de lo contrario lanza error (valor por defecto)

Elimina un índice.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

dropIndices(table: Table|string, indices: TableIndex[], ifExists?: boolean): Promise<void>
  • table - Objeto Table o nombre de tabla

  • indices - Arreglo de objetos TableIndex

  • ifExists - si es true, ignora silenciosamente si los índices no existen; de lo contrario lanza error (valor por defecto)

Elimina múltiples índices.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

clearTable(tableName: string, options?: {cascade?: boolean}): Promise<void>
  • tableName - Nombre de tabla

  • options - opciones adicionales

    • cascade - Indica si se deben eliminar las filas de las tablas que tienen llaves foráneas (solo compatible con PostgreSQL/CockroachDB y Oracle; otras bases de datos lanzarán un error si se establece en true). Valor por defecto: false

Vacía todo el contenido de la tabla.

Nota: esta operación usa la consulta TRUNCATE de SQL que no puede revertirse en transacciones.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

enableSqlMemory(): void

Habilita un modo especial del query runner donde las consultas SQL no se ejecutarán, sino que se memorizarán en una variable especial dentro del query runner. Puedes obtener las consultas SQL memorizadas usando el método getMemorySql().


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

disableSqlMemory(): void

Deshabilita el modo especial del query runner donde las consultas SQL no se ejecutaban. Las consultas SQL memorizadas previamente se eliminarán.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

clearSqlMemory(): void

Elimina todas las sentencias SQL memorizadas.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

getMemorySql(): SqlInMemory
  • Devuelve objeto SqlInMemory con arreglos de sentencias SQL upQueries y downQueries

Obtiene el SQL almacenado en la memoria. Los parámetros en el SQL ya han sido reemplazados.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

executeMemoryUpSql(): Promise<void>

Ejecuta las consultas SQL 'up' memorizadas.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]

executeMemoryDownSql(): Promise<void>

Ejecuta las consultas SQL 'down' memorizadas.


slug: future-of-typeorm title: El Futuro de TypeORM authors: [dlhck, michaelbromley] tags: [announcement]