API de QueryRunner
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 estrue, 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 estrue, 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 estrue, 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 estrue, ignora silenciosamente si el esquema no existe; de lo contrario lanza error (valor por defecto) -
isCascade- Si estrue, 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 estrue, 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 estrue, 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 estrue, 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 antiguonewColumn- 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 estrue, 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 estrue, 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 estrue, 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 estrue, 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 estrue, 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 estrue, 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 estrue, 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 estrue, 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 estrue, 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 estrue, 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 estrue, 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 estrue, 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 estrue, 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 adicionalescascade- 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 entrue). 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
SqlInMemorycon arreglos de sentencias SQLupQueriesydownQueries
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.