gummy-cli 0.0.83 → 0.0.85
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions-CpCdz4zV.cjs +2 -0
- package/dist/actions-CpCdz4zV.cjs.map +1 -0
- package/dist/actions-DB7AAmD9.mjs +2 -0
- package/dist/actions-DB7AAmD9.mjs.map +1 -0
- package/dist/bin.cjs +7 -7
- package/dist/bin.cjs.map +1 -1
- package/dist/bin.d.cts +1 -1
- package/dist/bin.d.mts +1 -0
- package/dist/bin.mjs +42 -0
- package/dist/bin.mjs.map +1 -0
- package/dist/index.cjs +1 -2
- package/dist/index.d.cts +128 -124
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +170 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +1 -0
- package/package.json +33 -19
- package/dist/bin.d.ts +0 -1
- package/dist/bin.js +0 -42
- package/dist/bin.js.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.ts +0 -166
- package/dist/index.js +0 -2
- package/dist/index.js.map +0 -1
package/dist/bin.mjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.mjs","names":[],"sources":["../src/migrate/validate.ts","../src/migrate/makemigrations.ts","../src/commands/makemigrations.ts","../src/bin.ts"],"sourcesContent":["import { ColumnType } from 'gummy'\nimport type { ColumnTypeStr, DatabaseState } from './types.js'\n\nexport function validateDatabaseState(state: DatabaseState): string[] {\n const errors: string[] = []\n\n const tables = state.tables\n for (const [tableName, tableState] of Object.entries(tables)) {\n // Collect primary keys\n const primaryKeys = []\n\n const columns = tableState.columns\n for (const [columnName, columnDef] of Object.entries(columns)) {\n // Check for primary keys\n if (columnDef.isPrimaryKey) {\n primaryKeys.push(columnName)\n // Primary key columns must be NOT NULL\n if (!columnDef.notNull) {\n errors.push(`Primary key column \"${columnName}\" in table \"${tableName}\" must be NOT NULL.`)\n }\n }\n\n // Check foreign key references\n if (columnDef.references) {\n const [referencedTable, referencedColumn] = columnDef.references.split('.')\n if (!state.tables[referencedTable]) {\n errors.push(\n `Referenced table \"${referencedTable}\" for foreign key on \"${tableName}.${columnName}\" does not exist.`,\n )\n } else if (!state.tables[referencedTable].columns[referencedColumn]) {\n errors.push(\n `Referenced column \"${referencedTable}.${referencedColumn}\" for foreign key on \"${tableName}.${columnName}\" does not exist.`,\n )\n } else {\n const foreignColumnDef = state.tables[referencedTable].columns[referencedColumn]\n // Check data type compatibility\n if (!areDataTypesCompatible(columnDef.dataType, foreignColumnDef.dataType)) {\n errors.push(\n `Data type incompatibility between foreign key column \"${tableName}.${columnName}\" (${ColumnType[columnDef.dataType]}) and referenced column \"${referencedTable}.${referencedColumn}\" (${ColumnType[foreignColumnDef.dataType]}).`,\n )\n }\n // Referenced column should be PRIMARY KEY or UNIQUE\n if (!foreignColumnDef.isPrimaryKey && !foreignColumnDef.isUnique) {\n errors.push(\n `Referenced column \"${referencedTable}.${referencedColumn}\" for foreign key on \"${tableName}.${columnName}\" is not PRIMARY KEY or UNIQUE.`,\n )\n }\n }\n }\n }\n }\n\n return errors\n}\n\nfunction areDataTypesCompatible(fkType: ColumnTypeStr, pkType: ColumnTypeStr): boolean {\n const compatibleTypes: { [key in ColumnTypeStr]?: ColumnTypeStr[] } = {\n [ColumnType.Integer]: [ColumnType.Integer, ColumnType.Serial, ColumnType.BigInteger, ColumnType.BigSerial],\n [ColumnType.BigInteger]: [ColumnType.BigInteger, ColumnType.BigSerial, ColumnType.Integer, ColumnType.Serial],\n [ColumnType.Serial]: [ColumnType.Integer, ColumnType.Serial],\n [ColumnType.BigSerial]: [ColumnType.BigInteger, ColumnType.BigSerial],\n [ColumnType.Varchar]: [ColumnType.Varchar, ColumnType.Text],\n [ColumnType.Text]: [ColumnType.Text, ColumnType.Varchar],\n [ColumnType.UUID]: [ColumnType.UUID],\n }\n\n if (fkType === pkType) {\n return true\n }\n\n if (compatibleTypes[fkType]?.includes(pkType)) {\n return true\n }\n\n return false\n}\n","import * as fs from 'node:fs'\nimport * as path from 'node:path'\nimport chalk from 'chalk'\nimport { globSync } from 'glob'\nimport { type Column, isTable, Table } from 'gummy'\nimport { readPackageJSON } from 'pkg-types'\nimport { getConfig } from '../config.js'\nimport { areArrayEqual } from '../utils.js'\nimport {\n AddColumnAction,\n AddForeignKeyConstraintAction,\n AddUniqueConstraintAction,\n AlterColumnAction,\n CreateIndexAction,\n CreateTableAction,\n DropColumnAction,\n DropForeignKeyConstraintAction,\n DropIndexAction,\n DropTableAction,\n DropUniqueConstraintAction,\n type MigrationAction,\n} from './actions.js'\nimport type { ColumnDefinition, ColumnDefinitionDiff, DatabaseState, TableState } from './types.js'\nimport { validateDatabaseState } from './validate.js'\n\nconst info = chalk.bold.blue\nconst error = chalk.bold.red\n\nexport async function makeMigrations() {\n const config = await getConfig()\n\n // Step 1: Extract all table instances from 'src/models/'\n const tableInstances = await extractTableInstances(config.modelsDir)\n\n // Step 2: Extract column definitions from each table instance\n const newState = buildNewState(tableInstances)\n\n // Step 3: Validate the newState before proceeding\n const validationErrors = validateDatabaseState(newState)\n if (validationErrors.length > 0) {\n console.log(error('Validation Error(s) found in the database schema:'))\n for (const errMsg of validationErrors) {\n console.log(error(`- ${errMsg}`))\n }\n process.exit(1)\n }\n\n // Step 4: Load past migration actions and reconstruct oldState\n const pastMigrationActions = await loadPastMigrationActions(config.migrationsDir)\n const oldState = reconstructOldState(pastMigrationActions)\n\n // Step 5: Compare oldState and newState to get stateDiff\n const stateDiff = compareStates(oldState, newState)\n if (\n stateDiff.added.length === 0 &&\n stateDiff.removed.length === 0 &&\n stateDiff.modified.length === 0 &&\n stateDiff.foreignKeys.length === 0 &&\n stateDiff.indexes.added.length === 0 &&\n stateDiff.indexes.removed.length === 0 &&\n stateDiff.uniqueConstraints.added.length === 0 &&\n stateDiff.uniqueConstraints.removed.length === 0\n ) {\n console.log(info('No changes detected. Migration file not generated.'))\n process.exit(0)\n }\n\n // Step 6: Generate migration actions for the current stateDiff\n const { actions, downActions } = generateMigrationActions(stateDiff, newState, oldState)\n\n // Step 7: Generate migration file based on migration actions\n const timestamp = new Date().toISOString().replace(/[-:T]/g, '').split('.')[0]\n generateMigrationFile(actions, downActions, timestamp, config.migrationsDir)\n\n console.log(info('Migration script completed successfully.'))\n}\n\ntype StateDiff = {\n added: MigrationAction[]\n removed: MigrationAction[]\n modified: MigrationAction[]\n foreignKeys: (AddForeignKeyConstraintAction | DropForeignKeyConstraintAction)[]\n indexes: {\n added: CreateIndexAction[]\n removed: DropIndexAction[]\n }\n uniqueConstraints: {\n added: AddUniqueConstraintAction[]\n removed: DropUniqueConstraintAction[]\n }\n}\n\nlet tsxRegistered = false\n\nasync function importTSFile(path: string): Promise<any> {\n const localPackageJson = await readPackageJSON()\n if (localPackageJson.type === 'module') {\n if (!tsxRegistered) {\n const { register } = await import('tsx/esm/api')\n register()\n tsxRegistered = true\n }\n\n return await import(path)\n }\n\n const { require: tsRequire } = await import('tsx/cjs/api')\n\n return await tsRequire(path, __filename)\n}\n\nexport async function extractTableInstances(modelsDir = 'src/models'): Promise<Table[]> {\n const files = globSync(`${modelsDir}/**/*.{ts,js,mjs,mts}`, { absolute: true })\n const tableInstances: Table[] = []\n\n for (const fileName of files) {\n if (\n fileName.endsWith('.js') ||\n (fileName.endsWith('.ts') && !fileName.endsWith('.d.ts')) ||\n fileName.endsWith('.mjs') ||\n (fileName.endsWith('.mts') && !fileName.endsWith('.d.mts'))\n ) {\n const m = await importTSFile(fileName)\n\n Object.entries(m).forEach(([, exported]) => {\n if (isTable(exported)) {\n tableInstances.push(exported)\n }\n })\n\n const defaultExported = m.default\n if (isTable(defaultExported)) {\n tableInstances.push(defaultExported)\n }\n }\n }\n\n return tableInstances\n}\n\nconst _isWithLength = (column: Column): column is typeof column & { length: number } => {\n return 'length' in column && typeof column.length === 'number'\n}\n\nconst extractColumns = (table: Table): TableState => {\n const columns = Table.columns(table)\n const options = Table.options(table)\n return {\n columns: Object.entries(columns).reduce(\n (tableDefinition, [_, column]) => {\n const { foreignKeyConfigs } = column.config\n\n tableDefinition[column.name] = {\n name: column.name,\n dataType: column.columnType,\n length: _isWithLength(column) ? column.length : undefined,\n isPrimaryKey: column.primary,\n notNull: column.notNull,\n hasDbDefault: column.dbDefault != null,\n dbDefault: column.dbDefault,\n isUnique: column.isUnique,\n references:\n foreignKeyConfigs != null\n ? `${foreignKeyConfigs?.ref.table.tableName}.${foreignKeyConfigs?.ref.name}`\n : undefined,\n onDelete: foreignKeyConfigs?.actions.onDelete,\n }\n return tableDefinition\n },\n {} as { [columnName: string]: ColumnDefinition },\n ),\n indexes: [\n ...Object.entries(columns)\n .map(([, column]) => column)\n .filter((column) => column.index)\n .map((column) => ({ table: table.tableName, columns: [column.name] })),\n ...(options?.indexes?.map((columns) => ({ table: table.tableName, columns })) ?? []),\n ],\n uniqueConstraints: options?.uniqueConstraints ?? [],\n }\n}\n\nexport function buildNewState(tableInstances: Table[]): DatabaseState {\n const newState: DatabaseState = { tables: {} }\n tableInstances.forEach((instance) => {\n const tableName = instance.tableName\n newState.tables[tableName] = extractColumns(instance)\n })\n return newState\n}\n\nexport async function loadPastMigrationActions(migrationsDir = 'migrations'): Promise<MigrationAction[]> {\n if (!fs.existsSync(migrationsDir)) {\n return []\n }\n\n const migrationFiles = globSync(`${migrationsDir}/**/*.{ts,js,mjs,mts}`, { absolute: true })\n const allActions: MigrationAction[] = []\n for (const file of migrationFiles.sort()) {\n const migrationModule = await importTSFile(file)\n\n if (migrationModule.actions && Array.isArray(migrationModule.actions)) {\n allActions.push(...migrationModule.actions)\n }\n }\n\n return allActions\n}\n\nexport function reconstructOldState(migrationActions: MigrationAction[]): DatabaseState {\n const state: DatabaseState = { tables: {} }\n\n for (const action of migrationActions) {\n action.applyToState(state)\n }\n\n return state\n}\n\nfunction compareStates(oldState: DatabaseState, newState: DatabaseState): StateDiff {\n const stateDiff: StateDiff = {\n added: [],\n removed: [],\n modified: [],\n foreignKeys: [],\n indexes: { added: [], removed: [] },\n uniqueConstraints: { added: [], removed: [] },\n }\n\n // Compare tables\n for (const [tableName, newTableDef] of Object.entries(newState.tables)) {\n const oldTableDef = oldState.tables[tableName]\n\n if (!oldTableDef) {\n // New table\n const columnsWithoutFK = Object.values(newTableDef.columns).map((col) => ({\n ...col,\n references: undefined,\n }))\n stateDiff.added.push(\n new CreateTableAction(tableName, columnsWithoutFK, {\n indexes: newTableDef.indexes,\n uniqueConstraints: newTableDef.uniqueConstraints,\n }),\n )\n // Collect foreign key constraints\n for (const columnDef of Object.values(newTableDef.columns)) {\n if (columnDef.references) {\n const [referencedTable, referencedColumn] = columnDef.references.split('.')\n stateDiff.foreignKeys.push(\n new AddForeignKeyConstraintAction(tableName, columnDef.name, referencedTable, referencedColumn, {\n onDelete: columnDef.onDelete,\n onUpdate: columnDef.onUpdate,\n }),\n )\n }\n }\n continue\n }\n\n // Compare columns\n for (const [columnName, newColumnDef] of Object.entries(newTableDef.columns)) {\n const oldColumnDef = oldTableDef.columns[columnName]\n\n if (!oldColumnDef) {\n // New column\n const columnWithoutFK = { ...newColumnDef, references: undefined }\n stateDiff.added.push(new AddColumnAction(tableName, columnWithoutFK))\n // Collect foreign key constraints\n if (newColumnDef.references) {\n const [referencedTable, referencedColumn] = newColumnDef.references.split('.')\n stateDiff.foreignKeys.push(\n new AddForeignKeyConstraintAction(tableName, columnName, referencedTable, referencedColumn, {\n onDelete: newColumnDef.onDelete,\n onUpdate: newColumnDef.onUpdate,\n }),\n )\n }\n } else {\n // Generate column definition differences\n const diff = generateColumnDefinitionDiff(oldColumnDef, newColumnDef)\n if (diff) {\n stateDiff.modified.push(new AlterColumnAction(tableName, columnName, diff))\n }\n\n // Detect foreign key constraint changes\n if (oldColumnDef.references !== newColumnDef.references || oldColumnDef.onDelete !== newColumnDef.onDelete) {\n if (oldColumnDef.references) {\n // Drop old foreign key constraint\n stateDiff.foreignKeys.push(new DropForeignKeyConstraintAction(tableName, columnName))\n }\n if (newColumnDef.references) {\n // Add new foreign key constraint\n const [referencedTable, referencedColumn] = newColumnDef.references.split('.')\n stateDiff.foreignKeys.push(\n new AddForeignKeyConstraintAction(tableName, columnName, referencedTable, referencedColumn, {\n onDelete: newColumnDef.onDelete,\n onUpdate: newColumnDef.onUpdate,\n }),\n )\n }\n }\n }\n }\n\n // Check for removed columns\n for (const columnName of Object.keys(oldTableDef.columns)) {\n if (!newTableDef.columns[columnName]) {\n stateDiff.removed.push(new DropColumnAction(tableName, columnName))\n }\n }\n\n // Compare indexes\n const newIndexes = newTableDef.indexes || []\n const oldIndexes = oldTableDef.indexes || []\n\n const addedIndexes = newIndexes.filter(\n (newIndex) => !oldIndexes.some((oldIndex) => areArrayEqual(oldIndex.columns, newIndex.columns)),\n )\n\n const removedIndexes = oldIndexes.filter(\n (oldIndex) => !newIndexes.some((newIndex) => areArrayEqual(newIndex.columns, oldIndex.columns)),\n )\n\n for (const index of addedIndexes) {\n stateDiff.indexes.added.push(new CreateIndexAction(tableName, index.columns))\n }\n\n for (const index of removedIndexes) {\n stateDiff.indexes.removed.push(new DropIndexAction(tableName, index.columns))\n }\n\n // Compare unique constraints\n const newUniqueConstraints = newTableDef.uniqueConstraints || []\n const oldUniqueConstraints = oldTableDef.uniqueConstraints || []\n\n const addedUniqueConstraints = newUniqueConstraints.filter(\n (newConstraint) => !oldUniqueConstraints.some((oldConstraint) => areArrayEqual(oldConstraint, newConstraint)),\n )\n\n const removedUniqueConstraints = oldUniqueConstraints.filter(\n (oldConstraint) => !newUniqueConstraints.some((newConstraint) => areArrayEqual(newConstraint, oldConstraint)),\n )\n\n for (const columns of addedUniqueConstraints) {\n stateDiff.uniqueConstraints.added.push(new AddUniqueConstraintAction(tableName, columns))\n }\n\n for (const columns of removedUniqueConstraints) {\n stateDiff.uniqueConstraints.removed.push(new DropUniqueConstraintAction(tableName, columns))\n }\n }\n\n // Check for removed tables\n for (const tableName of Object.keys(oldState.tables)) {\n if (!newState.tables[tableName]) {\n stateDiff.removed.push(new DropTableAction(tableName))\n }\n }\n\n return stateDiff\n}\n\nfunction generateColumnDefinitionDiff(\n oldColumn: ColumnDefinition,\n newColumn: ColumnDefinition,\n): ColumnDefinitionDiff | null {\n const diff: ColumnDefinitionDiff = {}\n let hasChanges = false\n\n if (oldColumn.dataType !== newColumn.dataType) {\n diff.dataType = newColumn.dataType\n hasChanges = true\n }\n\n if (oldColumn.length !== newColumn.length) {\n diff.length = newColumn.length\n hasChanges = true\n }\n\n if (oldColumn.isPrimaryKey !== newColumn.isPrimaryKey) {\n diff.isPrimaryKey = newColumn.isPrimaryKey\n hasChanges = true\n }\n\n if (oldColumn.notNull !== newColumn.notNull) {\n diff.notNull = newColumn.notNull\n hasChanges = true\n }\n\n const oldDefault = oldColumn.hasDbDefault ? oldColumn.dbDefault : undefined\n const newDefault = newColumn.hasDbDefault ? newColumn.dbDefault : undefined\n if (oldDefault !== newDefault) {\n diff.hasDbDefault = newColumn.hasDbDefault\n diff.dbDefault = newColumn.dbDefault\n hasChanges = true\n }\n\n if (oldColumn.isUnique !== newColumn.isUnique) {\n diff.isUnique = newColumn.isUnique\n hasChanges = true\n }\n\n return hasChanges ? diff : null\n}\n\nfunction generateReverseColumnDefinitionDiff(\n changes: ColumnDefinitionDiff,\n oldColumn: ColumnDefinition,\n): ColumnDefinitionDiff {\n const reverseDiff: ColumnDefinitionDiff = {}\n\n if (changes.dataType !== undefined) {\n reverseDiff.dataType = oldColumn.dataType\n reverseDiff.length = oldColumn.length\n }\n\n if (changes.isPrimaryKey !== undefined) {\n reverseDiff.isPrimaryKey = oldColumn.isPrimaryKey\n }\n\n if (changes.notNull !== undefined) {\n reverseDiff.notNull = oldColumn.notNull\n }\n\n if (changes.hasDbDefault !== undefined) {\n reverseDiff.hasDbDefault = oldColumn.hasDbDefault\n reverseDiff.dbDefault = oldColumn.dbDefault\n }\n\n if (changes.isUnique !== undefined) {\n reverseDiff.isUnique = oldColumn.isUnique\n }\n\n return reverseDiff\n}\n\nfunction generateMigrationActions(stateDiff: StateDiff, _newState: DatabaseState, oldState: DatabaseState) {\n const actions: MigrationAction[] = []\n const downActions: MigrationAction[] = []\n\n // Added actions\n for (const action of stateDiff.added) {\n actions.push(action)\n if (action instanceof CreateTableAction) {\n downActions.unshift(new DropTableAction(action.table))\n } else if (action instanceof AddColumnAction) {\n downActions.unshift(new DropColumnAction(action.table, action.column.name))\n }\n }\n\n // Removed actions\n for (const action of stateDiff.removed) {\n actions.push(action)\n if (action instanceof DropTableAction) {\n const tableDef = oldState.tables[action.table]\n downActions.unshift(\n new CreateTableAction(action.table, Object.values(tableDef.columns), {\n indexes: tableDef.indexes,\n uniqueConstraints: tableDef.uniqueConstraints,\n }),\n )\n } else if (action instanceof DropColumnAction) {\n const columnDef = oldState.tables[action.table].columns[action.columnName]\n downActions.unshift(new AddColumnAction(action.table, columnDef))\n }\n }\n\n // Modified actions\n for (const action of stateDiff.modified) {\n actions.push(action)\n // Generate reverse diff for down action\n if (action instanceof AlterColumnAction) {\n const reverseDiff = generateReverseColumnDefinitionDiff(\n action.changes,\n oldState.tables[action.table].columns[action.columnName],\n )\n downActions.unshift(new AlterColumnAction(action.table, action.columnName, reverseDiff))\n }\n }\n\n // Foreign key constraints\n for (const fkAction of stateDiff.foreignKeys) {\n actions.push(fkAction)\n if (fkAction instanceof AddForeignKeyConstraintAction) {\n downActions.unshift(new DropForeignKeyConstraintAction(fkAction.table, fkAction.columnName))\n } else if (fkAction instanceof DropForeignKeyConstraintAction) {\n const oldColumnDef = oldState.tables[fkAction.table].columns[fkAction.columnName]\n if (oldColumnDef.references) {\n const [referencedTable, referencedColumn] = oldColumnDef.references.split('.')\n downActions.unshift(\n new AddForeignKeyConstraintAction(fkAction.table, fkAction.columnName, referencedTable, referencedColumn, {\n onDelete: oldColumnDef.onDelete,\n onUpdate: oldColumnDef.onUpdate,\n }),\n )\n }\n }\n }\n\n // Indexes\n for (const indexAction of stateDiff.indexes.added) {\n actions.push(indexAction)\n downActions.unshift(new DropIndexAction(indexAction.table, indexAction.columns))\n }\n\n for (const indexAction of stateDiff.indexes.removed) {\n actions.push(indexAction)\n downActions.unshift(new CreateIndexAction(indexAction.table, indexAction.columns))\n }\n\n // Unique constraints\n for (const ucAction of stateDiff.uniqueConstraints.added) {\n actions.push(ucAction)\n downActions.unshift(new DropUniqueConstraintAction(ucAction.table, ucAction.columns))\n }\n\n for (const ucAction of stateDiff.uniqueConstraints.removed) {\n actions.push(ucAction)\n downActions.unshift(new AddUniqueConstraintAction(ucAction.table, ucAction.columns))\n }\n\n return { actions, downActions }\n}\n\nfunction generateMigrationFile(\n actions: MigrationAction[],\n downActions: MigrationAction[],\n timestamp: string,\n migrationsDir = 'migrations',\n) {\n if (!fs.existsSync(migrationsDir)) {\n fs.mkdirSync(migrationsDir)\n }\n\n const fileNameTimestamp = timestamp.replace(/[-: ]/g, '')\n const filePath = path.join(migrationsDir, `${fileNameTimestamp}_migration.ts`)\n\n const importStatements = `import { Kysely } from 'kysely';\nimport {\n MigrationAction,\n CreateTableAction,\n DropTableAction,\n AddColumnAction,\n DropColumnAction,\n AlterColumnAction,\n AddForeignKeyConstraintAction,\n DropForeignKeyConstraintAction,\n CreateIndexAction,\n DropIndexAction,\n AddUniqueConstraintAction,\n DropUniqueConstraintAction,\n executeActions\n} from 'gummy-cli';\n `\n\n const actionInstances = actions.map((action) => action.toCode())\n const downActionInstances = downActions.map((action) => action.toCode())\n\n const fileHeader = `// Generated by Gummy on ${timestamp}`\n\n const migrationFileContent = `${fileHeader}\n\n${importStatements}\n\nexport const actions: MigrationAction[] = [\n ${actionInstances.join(',\\n ')}\n];\n\nexport const downActions: MigrationAction[] = [\n ${downActionInstances.join(',\\n ')}\n];\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport async function up(db: Kysely<any>): Promise<void> {\n await executeActions(actions, db);\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport async function down(db: Kysely<any>): Promise<void> {\n await executeActions(downActions, db);\n}\n`\n\n fs.writeFileSync(filePath, migrationFileContent)\n}\n","import { Command } from 'commander'\nimport { makeMigrations } from '../migrate/makemigrations.js'\n\nexport const makemigrations = new Command().name('makemigrations').action(async () => {\n await makeMigrations()\n})\n","#!/usr/bin/env node\n\nimport { Command } from 'commander'\n\nimport { makemigrations } from './commands/makemigrations.js'\n\nprocess.on('SIGINT', () => process.exit(0))\nprocess.on('SIGTERM', () => process.exit(0))\n\nasync function main() {\n const program = new Command()\n program.addCommand(makemigrations)\n program.parse()\n}\n\nmain()\n"],"mappings":"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"}
|
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
//# sourceMappingURL=index.cjs.map
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./actions-CpCdz4zV.cjs`);exports.AddColumnAction=e.t,exports.AddForeignKeyConstraintAction=e.n,exports.AddUniqueConstraintAction=e.r,exports.AlterColumnAction=e.i,exports.CreateIndexAction=e.a,exports.CreateTableAction=e.o,exports.DropColumnAction=e.s,exports.DropForeignKeyConstraintAction=e.c,exports.DropIndexAction=e.l,exports.DropTableAction=e.u,exports.DropUniqueConstraintAction=e.d,exports.MigrationAction=e.f,exports.defineConfig=e.h,exports.executeActions=e.p;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,166 +1,170 @@
|
|
|
1
|
-
import { Kysely } from
|
|
2
|
-
import { ColumnType } from
|
|
1
|
+
import { Kysely } from "kysely";
|
|
2
|
+
import { ColumnType } from "gummy";
|
|
3
3
|
|
|
4
|
+
//#region src/config.d.ts
|
|
5
|
+
type Config = {
|
|
6
|
+
modelsDir?: string;
|
|
7
|
+
migrationsDir?: string;
|
|
8
|
+
};
|
|
9
|
+
declare const defineConfig: (input: Config) => Config;
|
|
10
|
+
//#endregion
|
|
11
|
+
//#region src/migrate/types.d.ts
|
|
4
12
|
type ColumnTypeStr = `${ColumnType}`;
|
|
5
13
|
type ColumnDefinition = {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
name: string;
|
|
15
|
+
dataType: ColumnTypeStr;
|
|
16
|
+
length?: number;
|
|
17
|
+
isPrimaryKey?: boolean;
|
|
18
|
+
notNull?: boolean;
|
|
19
|
+
hasDbDefault?: boolean;
|
|
20
|
+
dbDefault?: any;
|
|
21
|
+
isUnique?: boolean;
|
|
22
|
+
references?: string;
|
|
23
|
+
onDelete?: 'no action' | 'restrict' | 'cascade' | 'set null' | 'set default';
|
|
24
|
+
onUpdate?: 'no action' | 'restrict' | 'cascade' | 'set null' | 'set default';
|
|
17
25
|
};
|
|
18
26
|
type ColumnDefinitionDiff = {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
27
|
+
dataType?: ColumnTypeStr;
|
|
28
|
+
length?: number;
|
|
29
|
+
isPrimaryKey?: boolean;
|
|
30
|
+
notNull?: boolean;
|
|
31
|
+
hasDbDefault?: boolean;
|
|
32
|
+
dbDefault?: any;
|
|
33
|
+
isUnique?: boolean;
|
|
26
34
|
};
|
|
27
35
|
type IndexDefinition = {
|
|
28
|
-
|
|
29
|
-
|
|
36
|
+
table: string;
|
|
37
|
+
columns: string[];
|
|
30
38
|
};
|
|
31
39
|
type TableState = {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
40
|
+
columns: {
|
|
41
|
+
[columnName: string]: ColumnDefinition;
|
|
42
|
+
};
|
|
43
|
+
indexes?: IndexDefinition[];
|
|
44
|
+
uniqueConstraints?: string[][];
|
|
37
45
|
};
|
|
38
46
|
type DatabaseState = {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
47
|
+
tables: {
|
|
48
|
+
[tableName: string]: TableState;
|
|
49
|
+
};
|
|
42
50
|
};
|
|
43
|
-
|
|
51
|
+
//#endregion
|
|
52
|
+
//#region src/migrate/actions.d.ts
|
|
44
53
|
declare abstract class MigrationAction {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
54
|
+
abstract applyToState(state: DatabaseState): void;
|
|
55
|
+
abstract execute(db: Kysely<any>): Promise<void>;
|
|
56
|
+
abstract toCode(): string;
|
|
48
57
|
}
|
|
49
58
|
declare function executeActions(actions: MigrationAction[], db: Kysely<any>): Promise<void>;
|
|
50
59
|
declare class CreateTableAction extends MigrationAction {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
60
|
+
table: string;
|
|
61
|
+
columns: ColumnDefinition[];
|
|
62
|
+
ifNotExists: boolean;
|
|
63
|
+
indexes?: IndexDefinition[];
|
|
64
|
+
uniqueConstraints?: string[][];
|
|
65
|
+
constructor(tableName: string, columns: ColumnDefinition[], options?: {
|
|
66
|
+
ifNotExists?: boolean;
|
|
54
67
|
indexes?: IndexDefinition[];
|
|
55
68
|
uniqueConstraints?: string[][];
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
});
|
|
61
|
-
applyToState(state: DatabaseState): void;
|
|
62
|
-
execute(db: Kysely<any>): Promise<void>;
|
|
63
|
-
toCode(): string;
|
|
69
|
+
});
|
|
70
|
+
applyToState(state: DatabaseState): void;
|
|
71
|
+
execute(db: Kysely<any>): Promise<void>;
|
|
72
|
+
toCode(): string;
|
|
64
73
|
}
|
|
65
74
|
declare class DropTableAction extends MigrationAction {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
75
|
+
table: string;
|
|
76
|
+
ifExists: boolean;
|
|
77
|
+
constructor(tableName: string, ifExists?: boolean);
|
|
78
|
+
applyToState(state: DatabaseState): void;
|
|
79
|
+
execute(db: Kysely<any>): Promise<void>;
|
|
80
|
+
toCode(): string;
|
|
72
81
|
}
|
|
73
82
|
declare class AddColumnAction extends MigrationAction {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
83
|
+
table: string;
|
|
84
|
+
column: ColumnDefinition;
|
|
85
|
+
constructor(tableName: string, column: ColumnDefinition);
|
|
86
|
+
applyToState(state: DatabaseState): void;
|
|
87
|
+
execute(db: Kysely<any>): Promise<void>;
|
|
88
|
+
toCode(): string;
|
|
80
89
|
}
|
|
81
90
|
declare class DropColumnAction extends MigrationAction {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
91
|
+
table: string;
|
|
92
|
+
columnName: string;
|
|
93
|
+
constructor(tableName: string, columnName: string);
|
|
94
|
+
applyToState(state: DatabaseState): void;
|
|
95
|
+
execute(db: Kysely<any>): Promise<void>;
|
|
96
|
+
toCode(): string;
|
|
88
97
|
}
|
|
89
98
|
declare class AlterColumnAction extends MigrationAction {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
99
|
+
table: string;
|
|
100
|
+
columnName: string;
|
|
101
|
+
changes: ColumnDefinitionDiff;
|
|
102
|
+
constructor(tableName: string, columnName: string, changes: ColumnDefinitionDiff);
|
|
103
|
+
applyToState(state: DatabaseState): void;
|
|
104
|
+
execute(db: Kysely<any>): Promise<void>;
|
|
105
|
+
toCode(): string;
|
|
97
106
|
}
|
|
98
107
|
declare class AddForeignKeyConstraintAction extends MigrationAction {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
108
|
+
table: string;
|
|
109
|
+
columnName: string;
|
|
110
|
+
referencedTable: string;
|
|
111
|
+
referencedColumn: string;
|
|
112
|
+
constraintName: string;
|
|
113
|
+
onDelete?: 'no action' | 'restrict' | 'cascade' | 'set null' | 'set default';
|
|
114
|
+
onUpdate?: 'no action' | 'restrict' | 'cascade' | 'set null' | 'set default';
|
|
115
|
+
constructor(tableName: string, columnName: string, referencedTable: string, referencedColumn: string, options?: {
|
|
104
116
|
onDelete?: 'no action' | 'restrict' | 'cascade' | 'set null' | 'set default';
|
|
105
117
|
onUpdate?: 'no action' | 'restrict' | 'cascade' | 'set null' | 'set default';
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
applyToState(state: DatabaseState): void;
|
|
111
|
-
execute(db: Kysely<any>): Promise<void>;
|
|
112
|
-
toCode(): string;
|
|
118
|
+
});
|
|
119
|
+
applyToState(state: DatabaseState): void;
|
|
120
|
+
execute(db: Kysely<any>): Promise<void>;
|
|
121
|
+
toCode(): string;
|
|
113
122
|
}
|
|
114
123
|
declare class DropForeignKeyConstraintAction extends MigrationAction {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
124
|
+
table: string;
|
|
125
|
+
columnName: string;
|
|
126
|
+
constraintName: string;
|
|
127
|
+
constructor(tableName: string, columnName: string);
|
|
128
|
+
applyToState(state: DatabaseState): void;
|
|
129
|
+
execute(db: Kysely<any>): Promise<void>;
|
|
130
|
+
toCode(): string;
|
|
122
131
|
}
|
|
123
132
|
declare class CreateIndexAction extends MigrationAction {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
133
|
+
table: string;
|
|
134
|
+
columns: string[];
|
|
135
|
+
indexName: string;
|
|
136
|
+
constructor(table: string, columns: string[]);
|
|
137
|
+
applyToState(state: DatabaseState): void;
|
|
138
|
+
execute(db: Kysely<any>): Promise<void>;
|
|
139
|
+
toCode(): string;
|
|
131
140
|
}
|
|
132
141
|
declare class DropIndexAction extends MigrationAction {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
142
|
+
table: string;
|
|
143
|
+
columns: string[];
|
|
144
|
+
indexName: string;
|
|
145
|
+
constructor(table: string, columns: string[]);
|
|
146
|
+
applyToState(state: DatabaseState): void;
|
|
147
|
+
execute(db: Kysely<any>): Promise<void>;
|
|
148
|
+
toCode(): string;
|
|
140
149
|
}
|
|
141
150
|
declare class AddUniqueConstraintAction extends MigrationAction {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
151
|
+
table: string;
|
|
152
|
+
columns: string[];
|
|
153
|
+
constraintName: string;
|
|
154
|
+
constructor(tableName: string, columns: string[]);
|
|
155
|
+
applyToState(state: DatabaseState): void;
|
|
156
|
+
execute(db: Kysely<any>): Promise<void>;
|
|
157
|
+
toCode(): string;
|
|
149
158
|
}
|
|
150
159
|
declare class DropUniqueConstraintAction extends MigrationAction {
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
160
|
+
table: string;
|
|
161
|
+
columns: string[];
|
|
162
|
+
constraintName: string;
|
|
163
|
+
constructor(tableName: string, columns: string[]);
|
|
164
|
+
applyToState(state: DatabaseState): void;
|
|
165
|
+
execute(db: Kysely<any>): Promise<void>;
|
|
166
|
+
toCode(): string;
|
|
158
167
|
}
|
|
159
|
-
|
|
160
|
-
type Config = {
|
|
161
|
-
modelsDir?: string;
|
|
162
|
-
migrationsDir?: string;
|
|
163
|
-
};
|
|
164
|
-
declare const defineConfig: (input: Config) => Config;
|
|
165
|
-
|
|
168
|
+
//#endregion
|
|
166
169
|
export { AddColumnAction, AddForeignKeyConstraintAction, AddUniqueConstraintAction, AlterColumnAction, CreateIndexAction, CreateTableAction, DropColumnAction, DropForeignKeyConstraintAction, DropIndexAction, DropTableAction, DropUniqueConstraintAction, MigrationAction, defineConfig, executeActions };
|
|
170
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/config.ts","../src/migrate/types.ts","../src/migrate/actions.ts"],"mappings":"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"}
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { Kysely } from "kysely";
|
|
2
|
+
import { ColumnType } from "gummy";
|
|
3
|
+
|
|
4
|
+
//#region src/config.d.ts
|
|
5
|
+
type Config = {
|
|
6
|
+
modelsDir?: string;
|
|
7
|
+
migrationsDir?: string;
|
|
8
|
+
};
|
|
9
|
+
declare const defineConfig: (input: Config) => Config;
|
|
10
|
+
//#endregion
|
|
11
|
+
//#region src/migrate/types.d.ts
|
|
12
|
+
type ColumnTypeStr = `${ColumnType}`;
|
|
13
|
+
type ColumnDefinition = {
|
|
14
|
+
name: string;
|
|
15
|
+
dataType: ColumnTypeStr;
|
|
16
|
+
length?: number;
|
|
17
|
+
isPrimaryKey?: boolean;
|
|
18
|
+
notNull?: boolean;
|
|
19
|
+
hasDbDefault?: boolean;
|
|
20
|
+
dbDefault?: any;
|
|
21
|
+
isUnique?: boolean;
|
|
22
|
+
references?: string;
|
|
23
|
+
onDelete?: 'no action' | 'restrict' | 'cascade' | 'set null' | 'set default';
|
|
24
|
+
onUpdate?: 'no action' | 'restrict' | 'cascade' | 'set null' | 'set default';
|
|
25
|
+
};
|
|
26
|
+
type ColumnDefinitionDiff = {
|
|
27
|
+
dataType?: ColumnTypeStr;
|
|
28
|
+
length?: number;
|
|
29
|
+
isPrimaryKey?: boolean;
|
|
30
|
+
notNull?: boolean;
|
|
31
|
+
hasDbDefault?: boolean;
|
|
32
|
+
dbDefault?: any;
|
|
33
|
+
isUnique?: boolean;
|
|
34
|
+
};
|
|
35
|
+
type IndexDefinition = {
|
|
36
|
+
table: string;
|
|
37
|
+
columns: string[];
|
|
38
|
+
};
|
|
39
|
+
type TableState = {
|
|
40
|
+
columns: {
|
|
41
|
+
[columnName: string]: ColumnDefinition;
|
|
42
|
+
};
|
|
43
|
+
indexes?: IndexDefinition[];
|
|
44
|
+
uniqueConstraints?: string[][];
|
|
45
|
+
};
|
|
46
|
+
type DatabaseState = {
|
|
47
|
+
tables: {
|
|
48
|
+
[tableName: string]: TableState;
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
//#endregion
|
|
52
|
+
//#region src/migrate/actions.d.ts
|
|
53
|
+
declare abstract class MigrationAction {
|
|
54
|
+
abstract applyToState(state: DatabaseState): void;
|
|
55
|
+
abstract execute(db: Kysely<any>): Promise<void>;
|
|
56
|
+
abstract toCode(): string;
|
|
57
|
+
}
|
|
58
|
+
declare function executeActions(actions: MigrationAction[], db: Kysely<any>): Promise<void>;
|
|
59
|
+
declare class CreateTableAction extends MigrationAction {
|
|
60
|
+
table: string;
|
|
61
|
+
columns: ColumnDefinition[];
|
|
62
|
+
ifNotExists: boolean;
|
|
63
|
+
indexes?: IndexDefinition[];
|
|
64
|
+
uniqueConstraints?: string[][];
|
|
65
|
+
constructor(tableName: string, columns: ColumnDefinition[], options?: {
|
|
66
|
+
ifNotExists?: boolean;
|
|
67
|
+
indexes?: IndexDefinition[];
|
|
68
|
+
uniqueConstraints?: string[][];
|
|
69
|
+
});
|
|
70
|
+
applyToState(state: DatabaseState): void;
|
|
71
|
+
execute(db: Kysely<any>): Promise<void>;
|
|
72
|
+
toCode(): string;
|
|
73
|
+
}
|
|
74
|
+
declare class DropTableAction extends MigrationAction {
|
|
75
|
+
table: string;
|
|
76
|
+
ifExists: boolean;
|
|
77
|
+
constructor(tableName: string, ifExists?: boolean);
|
|
78
|
+
applyToState(state: DatabaseState): void;
|
|
79
|
+
execute(db: Kysely<any>): Promise<void>;
|
|
80
|
+
toCode(): string;
|
|
81
|
+
}
|
|
82
|
+
declare class AddColumnAction extends MigrationAction {
|
|
83
|
+
table: string;
|
|
84
|
+
column: ColumnDefinition;
|
|
85
|
+
constructor(tableName: string, column: ColumnDefinition);
|
|
86
|
+
applyToState(state: DatabaseState): void;
|
|
87
|
+
execute(db: Kysely<any>): Promise<void>;
|
|
88
|
+
toCode(): string;
|
|
89
|
+
}
|
|
90
|
+
declare class DropColumnAction extends MigrationAction {
|
|
91
|
+
table: string;
|
|
92
|
+
columnName: string;
|
|
93
|
+
constructor(tableName: string, columnName: string);
|
|
94
|
+
applyToState(state: DatabaseState): void;
|
|
95
|
+
execute(db: Kysely<any>): Promise<void>;
|
|
96
|
+
toCode(): string;
|
|
97
|
+
}
|
|
98
|
+
declare class AlterColumnAction extends MigrationAction {
|
|
99
|
+
table: string;
|
|
100
|
+
columnName: string;
|
|
101
|
+
changes: ColumnDefinitionDiff;
|
|
102
|
+
constructor(tableName: string, columnName: string, changes: ColumnDefinitionDiff);
|
|
103
|
+
applyToState(state: DatabaseState): void;
|
|
104
|
+
execute(db: Kysely<any>): Promise<void>;
|
|
105
|
+
toCode(): string;
|
|
106
|
+
}
|
|
107
|
+
declare class AddForeignKeyConstraintAction extends MigrationAction {
|
|
108
|
+
table: string;
|
|
109
|
+
columnName: string;
|
|
110
|
+
referencedTable: string;
|
|
111
|
+
referencedColumn: string;
|
|
112
|
+
constraintName: string;
|
|
113
|
+
onDelete?: 'no action' | 'restrict' | 'cascade' | 'set null' | 'set default';
|
|
114
|
+
onUpdate?: 'no action' | 'restrict' | 'cascade' | 'set null' | 'set default';
|
|
115
|
+
constructor(tableName: string, columnName: string, referencedTable: string, referencedColumn: string, options?: {
|
|
116
|
+
onDelete?: 'no action' | 'restrict' | 'cascade' | 'set null' | 'set default';
|
|
117
|
+
onUpdate?: 'no action' | 'restrict' | 'cascade' | 'set null' | 'set default';
|
|
118
|
+
});
|
|
119
|
+
applyToState(state: DatabaseState): void;
|
|
120
|
+
execute(db: Kysely<any>): Promise<void>;
|
|
121
|
+
toCode(): string;
|
|
122
|
+
}
|
|
123
|
+
declare class DropForeignKeyConstraintAction extends MigrationAction {
|
|
124
|
+
table: string;
|
|
125
|
+
columnName: string;
|
|
126
|
+
constraintName: string;
|
|
127
|
+
constructor(tableName: string, columnName: string);
|
|
128
|
+
applyToState(state: DatabaseState): void;
|
|
129
|
+
execute(db: Kysely<any>): Promise<void>;
|
|
130
|
+
toCode(): string;
|
|
131
|
+
}
|
|
132
|
+
declare class CreateIndexAction extends MigrationAction {
|
|
133
|
+
table: string;
|
|
134
|
+
columns: string[];
|
|
135
|
+
indexName: string;
|
|
136
|
+
constructor(table: string, columns: string[]);
|
|
137
|
+
applyToState(state: DatabaseState): void;
|
|
138
|
+
execute(db: Kysely<any>): Promise<void>;
|
|
139
|
+
toCode(): string;
|
|
140
|
+
}
|
|
141
|
+
declare class DropIndexAction extends MigrationAction {
|
|
142
|
+
table: string;
|
|
143
|
+
columns: string[];
|
|
144
|
+
indexName: string;
|
|
145
|
+
constructor(table: string, columns: string[]);
|
|
146
|
+
applyToState(state: DatabaseState): void;
|
|
147
|
+
execute(db: Kysely<any>): Promise<void>;
|
|
148
|
+
toCode(): string;
|
|
149
|
+
}
|
|
150
|
+
declare class AddUniqueConstraintAction extends MigrationAction {
|
|
151
|
+
table: string;
|
|
152
|
+
columns: string[];
|
|
153
|
+
constraintName: string;
|
|
154
|
+
constructor(tableName: string, columns: string[]);
|
|
155
|
+
applyToState(state: DatabaseState): void;
|
|
156
|
+
execute(db: Kysely<any>): Promise<void>;
|
|
157
|
+
toCode(): string;
|
|
158
|
+
}
|
|
159
|
+
declare class DropUniqueConstraintAction extends MigrationAction {
|
|
160
|
+
table: string;
|
|
161
|
+
columns: string[];
|
|
162
|
+
constraintName: string;
|
|
163
|
+
constructor(tableName: string, columns: string[]);
|
|
164
|
+
applyToState(state: DatabaseState): void;
|
|
165
|
+
execute(db: Kysely<any>): Promise<void>;
|
|
166
|
+
toCode(): string;
|
|
167
|
+
}
|
|
168
|
+
//#endregion
|
|
169
|
+
export { AddColumnAction, AddForeignKeyConstraintAction, AddUniqueConstraintAction, AlterColumnAction, CreateIndexAction, CreateTableAction, DropColumnAction, DropForeignKeyConstraintAction, DropIndexAction, DropTableAction, DropUniqueConstraintAction, MigrationAction, defineConfig, executeActions };
|
|
170
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/config.ts","../src/migrate/types.ts","../src/migrate/actions.ts"],"mappings":"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"}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,c as t,d as n,f as r,h as i,i as a,l as o,n as s,o as c,p as l,r as u,s as d,t as f,u as p}from"./actions-DB7AAmD9.mjs";export{f as AddColumnAction,s as AddForeignKeyConstraintAction,u as AddUniqueConstraintAction,a as AlterColumnAction,e as CreateIndexAction,c as CreateTableAction,d as DropColumnAction,t as DropForeignKeyConstraintAction,o as DropIndexAction,p as DropTableAction,n as DropUniqueConstraintAction,r as MigrationAction,i as defineConfig,l as executeActions};
|