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/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/migrate/actions.mts","../src/utils.mts","../src/config.mts"],"sourcesContent":["import { Kysely, sql } from 'kysely'\nimport { ColumnDefinition, ColumnDefinitionDiff, DatabaseState, IndexDefinition } from './types.mjs'\nimport { ColumnDefinitionBuilder } from 'kysely'\nimport { areArrayEqual } from '../utils.mjs'\n\nexport abstract class MigrationAction {\n abstract applyToState(state: DatabaseState): void\n abstract execute(db: Kysely<any>): Promise<void>\n abstract toCode(): string\n}\n\n// Helper functions\nfunction mapColumnTypeToDataType(columnDef: ColumnDefinition): any {\n switch (columnDef.dataType) {\n case 'BigInteger':\n return 'bigint'\n case 'BigSerial':\n return 'bigserial'\n case 'Boolean':\n return 'boolean'\n case 'Date':\n return 'date'\n case 'Decimal':\n return 'decimal'\n case 'Email':\n case 'Varchar':\n return columnDef.length ? `varchar(${columnDef.length})` : 'varchar'\n case 'Integer':\n return 'integer'\n case 'Serial':\n return 'serial'\n case 'Text':\n return 'text'\n case 'Timestamp':\n return 'timestamp'\n case 'UUID':\n return 'uuid'\n case 'Json':\n return 'json'\n default:\n throw new Error(`Unsupported ColumnType: ${columnDef.dataType}`)\n }\n}\n\nfunction buildCol(col: ColumnDefinitionBuilder, columnDef: ColumnDefinition): ColumnDefinitionBuilder {\n if (columnDef.isPrimaryKey) {\n col = col.primaryKey()\n }\n if (columnDef.notNull) {\n col = col.notNull()\n }\n if (columnDef.isUnique) {\n col = col.unique()\n }\n if (columnDef.hasDbDefault && columnDef.dbDefault !== undefined) {\n col = col.defaultTo(columnDef.dbDefault)\n }\n // Foreign key handling is done separately\n return col\n}\n\n// Helper functions for constraint names\n\nfunction sortColumns(columns: string[]): string[] {\n return [...columns].sort()\n}\n\nexport function generateForeignKeyConstraintName(tableName: string, columnName: string): string {\n return `${tableName}_${columnName}_fk`\n}\n\nexport function generateUniqueConstraintName(tableName: string, columns: string[]): string {\n const sortedColumns = sortColumns(columns)\n return `${tableName}_${sortedColumns.join('_')}_unique`\n}\n\nexport function generateIndexName(tableName: string, columns: string[]): string {\n const sortedColumns = sortColumns(columns)\n return `${tableName}_${sortedColumns.join('_')}_idx`\n}\n\n// executeActions function\nexport async function executeActions(actions: MigrationAction[], db: Kysely<any>): Promise<void> {\n for (const action of actions) {\n await action.execute(db)\n }\n}\n\n// MigrationAction subclasses\n\nexport class CreateTableAction extends MigrationAction {\n table: string\n columns: ColumnDefinition[]\n ifNotExists: boolean\n indexes?: IndexDefinition[]\n uniqueConstraints?: string[][] // Array of column name arrays\n\n constructor(\n tableName: string,\n columns: ColumnDefinition[],\n options?: {\n ifNotExists?: boolean\n indexes?: IndexDefinition[]\n uniqueConstraints?: string[][]\n },\n ) {\n super()\n this.table = tableName\n this.columns = columns\n this.ifNotExists = options?.ifNotExists ?? false\n this.indexes = options?.indexes\n this.uniqueConstraints = options?.uniqueConstraints\n }\n\n applyToState(state: DatabaseState): void {\n if (!state.tables[this.table]) {\n state.tables[this.table] = { columns: {} }\n }\n for (const column of this.columns) {\n state.tables[this.table].columns[column.name] = { ...column }\n }\n if (this.indexes) {\n state.tables[this.table].indexes = this.indexes\n }\n if (this.uniqueConstraints) {\n state.tables[this.table].uniqueConstraints = this.uniqueConstraints\n }\n }\n\n async execute(db: Kysely<any>) {\n let builder = db.schema.createTable(this.table)\n if (this.ifNotExists) {\n builder = builder.ifNotExists()\n }\n for (const column of this.columns) {\n const dataType = mapColumnTypeToDataType(column)\n builder = builder.addColumn(column.name, dataType, (col) => buildCol(col, column))\n }\n // Add unique constraints\n if (this.uniqueConstraints) {\n for (const columns of this.uniqueConstraints) {\n const constraintName = generateUniqueConstraintName(this.table, columns)\n builder = builder.addUniqueConstraint(constraintName, columns as any)\n }\n }\n await builder.execute()\n\n // Create indexes\n if (this.indexes) {\n for (const index of this.indexes) {\n await new CreateIndexAction(index.table, index.columns).execute(db)\n }\n }\n }\n\n toCode(): string {\n return `new CreateTableAction(${JSON.stringify(this.table)}, ${JSON.stringify(this.columns)}, ${JSON.stringify({\n ifNotExists: this.ifNotExists,\n indexes: this.indexes,\n uniqueConstraints: this.uniqueConstraints,\n })})`\n }\n}\n\nexport class DropTableAction extends MigrationAction {\n table: string\n ifExists: boolean\n\n constructor(tableName: string, ifExists: boolean = false) {\n super()\n this.table = tableName\n this.ifExists = ifExists\n }\n\n applyToState(state: DatabaseState): void {\n delete state.tables[this.table]\n }\n\n async execute(db: Kysely<any>) {\n let builder = db.schema.dropTable(this.table)\n if (this.ifExists) {\n builder = builder.ifExists()\n }\n await builder.execute()\n }\n\n toCode(): string {\n return `new DropTableAction(${JSON.stringify(this.table)}, ${this.ifExists})`\n }\n}\n\nexport class AddColumnAction extends MigrationAction {\n table: string\n column: ColumnDefinition\n\n constructor(tableName: string, column: ColumnDefinition) {\n super()\n this.table = tableName\n this.column = column\n }\n\n applyToState(state: DatabaseState): void {\n if (!state.tables[this.table]) {\n state.tables[this.table] = { columns: {} }\n }\n state.tables[this.table].columns[this.column.name] = { ...this.column }\n }\n\n async execute(db: Kysely<any>) {\n const dataType = mapColumnTypeToDataType(this.column)\n await db.schema\n .alterTable(this.table)\n .addColumn(this.column.name, dataType, (col) => buildCol(col, this.column))\n .execute()\n }\n\n toCode(): string {\n return `new AddColumnAction(${JSON.stringify(this.table)}, ${JSON.stringify(this.column)})`\n }\n}\n\n// 4. DropColumnAction\nexport class DropColumnAction extends MigrationAction {\n table: string\n columnName: string\n\n constructor(tableName: string, columnName: string) {\n super()\n this.table = tableName\n this.columnName = columnName\n }\n\n applyToState(state: DatabaseState): void {\n if (state.tables[this.table]) {\n delete state.tables[this.table].columns[this.columnName]\n }\n }\n\n async execute(db: Kysely<any>) {\n await db.schema.alterTable(this.table).dropColumn(this.columnName).execute()\n }\n\n toCode(): string {\n return `new DropColumnAction(${JSON.stringify(this.table)}, ${JSON.stringify(this.columnName)})`\n }\n}\n\nexport class AlterColumnAction extends MigrationAction {\n table: string\n columnName: string\n changes: ColumnDefinitionDiff\n\n constructor(tableName: string, columnName: string, changes: ColumnDefinitionDiff) {\n super()\n this.table = tableName\n this.columnName = columnName\n this.changes = changes\n }\n\n applyToState(state: DatabaseState): void {\n if (state.tables[this.table] && state.tables[this.table].columns[this.columnName]) {\n const column = state.tables[this.table].columns[this.columnName]\n if (this.changes.dataType !== undefined) {\n column.dataType = this.changes.dataType\n }\n if (this.changes.length !== undefined) {\n column.length = this.changes.length\n }\n if (this.changes.isPrimaryKey !== undefined) {\n column.isPrimaryKey = this.changes.isPrimaryKey\n }\n if (this.changes.notNull !== undefined) {\n column.notNull = this.changes.notNull\n }\n if (this.changes.hasDbDefault !== undefined) {\n column.hasDbDefault = this.changes.hasDbDefault\n column.dbDefault = this.changes.dbDefault\n }\n if (this.changes.isUnique !== undefined) {\n column.isUnique = this.changes.isUnique\n }\n }\n }\n\n async execute(db: Kysely<any>) {\n if (this.changes.dataType !== undefined || this.changes.length !== undefined) {\n await db.schema\n .alterTable(this.table)\n .alterColumn(this.columnName, (col) =>\n col.setDataType(\n mapColumnTypeToDataType({\n dataType: this.changes.dataType,\n length: this.changes.length,\n } as ColumnDefinition),\n ),\n )\n .execute()\n }\n\n if (this.changes.notNull !== undefined) {\n await db.schema\n .alterTable(this.table)\n .alterColumn(this.columnName, (col) => (this.changes.notNull ? col.setNotNull() : col.dropNotNull()))\n .execute()\n }\n\n if (this.changes.hasDbDefault !== undefined) {\n await db.schema\n .alterTable(this.table)\n .alterColumn(this.columnName, (col) => {\n if (this.changes.hasDbDefault && this.changes.dbDefault !== undefined) {\n if (typeof this.changes.dbDefault === 'string' && this.changes.dbDefault.startsWith('sql`')) {\n return col.setDefault(sql`${this.changes.dbDefault}`)\n } else {\n return col.setDefault(this.changes.dbDefault)\n }\n } else {\n return col.dropDefault()\n }\n })\n .execute()\n }\n\n if (this.changes.isUnique !== undefined) {\n const constraintName = generateUniqueConstraintName(this.table, [this.columnName])\n if (this.changes.isUnique) {\n await db.schema.alterTable(this.table).addUniqueConstraint(constraintName, [this.columnName]).execute()\n } else {\n await db.schema.alterTable(this.table).dropConstraint(constraintName).execute()\n }\n }\n }\n\n toCode(): string {\n return `new AlterColumnAction(${JSON.stringify(\n this.table,\n )}, ${JSON.stringify(this.columnName)}, ${JSON.stringify(this.changes)})`\n }\n}\n\nexport class AddForeignKeyConstraintAction extends MigrationAction {\n table: string\n columnName: string\n referencedTable: string\n referencedColumn: string\n constraintName: string\n onDelete?: 'no action' | 'restrict' | 'cascade' | 'set null' | 'set default'\n onUpdate?: 'no action' | 'restrict' | 'cascade' | 'set null' | 'set default'\n\n constructor(\n tableName: string,\n columnName: string,\n referencedTable: string,\n referencedColumn: string,\n options?: {\n onDelete?: 'no action' | 'restrict' | 'cascade' | 'set null' | 'set default'\n onUpdate?: 'no action' | 'restrict' | 'cascade' | 'set null' | 'set default'\n },\n ) {\n super()\n this.table = tableName\n this.columnName = columnName\n this.referencedTable = referencedTable\n this.referencedColumn = referencedColumn\n this.constraintName = generateForeignKeyConstraintName(tableName, columnName)\n this.onDelete = options?.onDelete\n this.onUpdate = options?.onUpdate\n }\n\n applyToState(state: DatabaseState): void {\n if (state.tables[this.table] && state.tables[this.table].columns[this.columnName]) {\n state.tables[this.table].columns[this.columnName].references = `${this.referencedTable}.${this.referencedColumn}`\n state.tables[this.table].columns[this.columnName].onDelete = this.onDelete\n state.tables[this.table].columns[this.columnName].onUpdate = this.onUpdate\n }\n }\n\n async execute(db: Kysely<any>) {\n let builder = db.schema\n .alterTable(this.table)\n .addForeignKeyConstraint(this.constraintName, [this.columnName], this.referencedTable, [this.referencedColumn])\n\n if (this.onDelete) {\n builder = builder.onDelete(this.onDelete)\n }\n if (this.onUpdate) {\n builder = builder.onUpdate(this.onUpdate)\n }\n\n await builder.execute()\n }\n\n toCode(): string {\n return `new AddForeignKeyConstraintAction(${JSON.stringify(\n this.table,\n )}, ${JSON.stringify(this.columnName)}, ${JSON.stringify(\n this.referencedTable,\n )}, ${JSON.stringify(this.referencedColumn)}, ${JSON.stringify({\n onDelete: this.onDelete,\n onUpdate: this.onUpdate,\n })})`\n }\n}\n\nexport class DropForeignKeyConstraintAction extends MigrationAction {\n table: string\n columnName: string\n constraintName: string\n\n constructor(tableName: string, columnName: string) {\n super()\n this.table = tableName\n this.columnName = columnName\n this.constraintName = generateForeignKeyConstraintName(tableName, columnName)\n }\n\n applyToState(state: DatabaseState): void {\n if (state.tables[this.table]) {\n const column = state.tables[this.table].columns[this.columnName]\n if (column && column.references) {\n column.references = undefined\n column.onDelete = undefined\n column.onUpdate = undefined\n }\n }\n }\n\n async execute(db: Kysely<any>) {\n await db.schema.alterTable(this.table).dropConstraint(this.constraintName).execute()\n }\n\n toCode(): string {\n return `new DropForeignKeyConstraintAction(${JSON.stringify(this.table)}, ${JSON.stringify(this.columnName)})`\n }\n}\n\nexport class CreateIndexAction extends MigrationAction {\n table: string\n columns: string[]\n indexName: string\n\n constructor(table: string, columns: string[]) {\n super()\n this.table = table\n this.columns = columns\n this.indexName = generateIndexName(table, columns)\n }\n\n applyToState(state: DatabaseState): void {\n if (!state.tables[this.table].indexes) {\n state.tables[this.table].indexes = []\n }\n state.tables[this.table].indexes!.push({\n table: this.table,\n columns: this.columns,\n })\n }\n\n async execute(db: Kysely<any>) {\n await db.schema.createIndex(this.indexName).on(this.table).columns(this.columns).execute()\n }\n\n toCode(): string {\n return `new CreateIndexAction(${JSON.stringify(this.table)}, ${JSON.stringify(this.columns)})`\n }\n}\n\nexport class DropIndexAction extends MigrationAction {\n table: string\n columns: string[]\n indexName: string\n\n constructor(table: string, columns: string[]) {\n super()\n this.table = table\n this.columns = columns\n this.indexName = generateIndexName(table, columns)\n }\n\n applyToState(state: DatabaseState): void {\n if (state.tables[this.table].indexes) {\n state.tables[this.table].indexes = state.tables[this.table].indexes!.filter(\n (idx) => !areArrayEqual(idx.columns, this.columns),\n )\n }\n }\n\n async execute(db: Kysely<any>) {\n await db.schema.dropIndex(this.indexName).execute()\n }\n\n toCode(): string {\n return `new DropIndexAction(${JSON.stringify(this.table)}, ${JSON.stringify(this.columns)})`\n }\n}\n\nexport class AddUniqueConstraintAction extends MigrationAction {\n table: string\n columns: string[]\n constraintName: string\n\n constructor(tableName: string, columns: string[]) {\n super()\n this.table = tableName\n this.columns = columns\n this.constraintName = generateUniqueConstraintName(tableName, columns)\n }\n\n applyToState(state: DatabaseState): void {\n if (!state.tables[this.table].uniqueConstraints) {\n state.tables[this.table].uniqueConstraints = []\n }\n state.tables[this.table].uniqueConstraints!.push(this.columns)\n }\n\n async execute(db: Kysely<any>) {\n await db.schema.alterTable(this.table).addUniqueConstraint(this.constraintName, this.columns).execute()\n }\n\n toCode(): string {\n return `new AddUniqueConstraintAction(${JSON.stringify(this.table)}, ${JSON.stringify(this.columns)})`\n }\n}\n\nexport class DropUniqueConstraintAction extends MigrationAction {\n table: string\n columns: string[]\n constraintName: string\n\n constructor(tableName: string, columns: string[]) {\n super()\n this.table = tableName\n this.columns = columns\n this.constraintName = generateUniqueConstraintName(tableName, columns)\n }\n\n applyToState(state: DatabaseState): void {\n if (state.tables[this.table].uniqueConstraints) {\n state.tables[this.table].uniqueConstraints = state.tables[this.table].uniqueConstraints!.filter(\n (cols) => generateUniqueConstraintName(this.table, cols) !== this.constraintName,\n )\n }\n }\n\n async execute(db: Kysely<any>) {\n await db.schema.alterTable(this.table).dropConstraint(this.constraintName).execute()\n }\n\n toCode(): string {\n return `new DropUniqueConstraintAction(${JSON.stringify(this.table)}, ${JSON.stringify(this.columns)})`\n }\n}\n","export function areArrayEqual(a: string[], b: string[]): boolean {\n if (a.length !== b.length) return false\n const sortedA = [...a].sort()\n const sortedB = [...b].sort()\n return sortedA.every((value, index) => value === sortedB[index])\n}\n","import { loadConfig } from 'c12'\n\nexport type Config = {\n modelsDir?: string\n migrationsDir?: string\n}\n\nexport const getConfig = async () => {\n const loadedConfig = await loadConfig<Config>({\n name: 'gummy',\n rcFile: false,\n globalRc: false,\n dotenv: false,\n packageJson: false,\n })\n\n return loadedConfig.config\n}\n\nexport const defineConfig = (input: Config): Config => input\n"],"mappings":"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","names":["sql","areArrayEqual","a","b","sortedA","sortedB","value","index","MigrationAction","mapColumnTypeToDataType","columnDef","buildCol","col","sortColumns","columns","generateForeignKeyConstraintName","tableName","columnName","generateUniqueConstraintName","sortedColumns","generateIndexName","executeActions","actions","db","action","CreateTableAction","options","state","column","builder","dataType","constraintName","index","CreateIndexAction","DropTableAction","ifExists","AddColumnAction","DropColumnAction","AlterColumnAction","changes","sql","AddForeignKeyConstraintAction","referencedTable","referencedColumn","DropForeignKeyConstraintAction","table","DropIndexAction","idx","areArrayEqual","AddUniqueConstraintAction","DropUniqueConstraintAction","cols","loadConfig","defineConfig","input"]}
|