Files
evento/node_modules/kysely/dist/cjs/operation-node/alter-table-node.d.ts
2026-03-18 14:55:56 -03:00

39 lines
2.1 KiB
TypeScript

import type { OperationNode } from './operation-node.js';
import type { AddColumnNode } from './add-column-node.js';
import type { DropColumnNode } from './drop-column-node.js';
import type { TableNode } from './table-node.js';
import type { IdentifierNode } from './identifier-node.js';
import type { RenameColumnNode } from './rename-column-node.js';
import type { AlterColumnNode } from './alter-column-node.js';
import type { AddConstraintNode } from './add-constraint-node.js';
import type { DropConstraintNode } from './drop-constraint-node.js';
import type { ModifyColumnNode } from './modify-column-node.js';
import type { DropIndexNode } from './drop-index-node.js';
import type { AddIndexNode } from './add-index-node.js';
import type { RenameConstraintNode } from './rename-constraint-node.js';
export type AlterTableNodeTableProps = Pick<AlterTableNode, 'renameTo' | 'setSchema' | 'addConstraint' | 'dropConstraint' | 'addIndex' | 'dropIndex' | 'renameConstraint'>;
export type AlterTableColumnAlterationNode = RenameColumnNode | AddColumnNode | DropColumnNode | AlterColumnNode | ModifyColumnNode;
export interface AlterTableNode extends OperationNode {
readonly kind: 'AlterTableNode';
readonly table: TableNode;
readonly renameTo?: TableNode;
readonly setSchema?: IdentifierNode;
readonly columnAlterations?: ReadonlyArray<AlterTableColumnAlterationNode>;
readonly addConstraint?: AddConstraintNode;
readonly dropConstraint?: DropConstraintNode;
readonly renameConstraint?: RenameConstraintNode;
readonly addIndex?: AddIndexNode;
readonly dropIndex?: DropIndexNode;
}
type AlterTableNodeFactory = Readonly<{
is(node: OperationNode): node is AlterTableNode;
create(table: TableNode): Readonly<AlterTableNode>;
cloneWithTableProps(node: AlterTableNode, props: AlterTableNodeTableProps): Readonly<AlterTableNode>;
cloneWithColumnAlteration(node: AlterTableNode, columnAlteration: AlterTableColumnAlterationNode): Readonly<AlterTableNode>;
}>;
/**
* @internal
*/
export declare const AlterTableNode: AlterTableNodeFactory;
export {};