drop.ts — drizzle-orm Source File
Architecture documentation for drop.ts, a typescript file in the drizzle-orm codebase. 10 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR abecef96_5a79_62f4_9fa7_4cac90f0bb61["drop.ts"] 5847e5ae_7b4a_4b02_b68f_883ef88b3c1a["utils.ts"] abecef96_5a79_62f4_9fa7_4cac90f0bb61 --> 5847e5ae_7b4a_4b02_b68f_883ef88b3c1a 99cb50bc_421c_6cf6_7d07_8a5d476acc83["Journal"] abecef96_5a79_62f4_9fa7_4cac90f0bb61 --> 99cb50bc_421c_6cf6_7d07_8a5d476acc83 217e2cbd_4fb7_ceab_251c_5733ece08a8f["views.ts"] abecef96_5a79_62f4_9fa7_4cac90f0bb61 --> 217e2cbd_4fb7_ceab_251c_5733ece08a8f 129d37bd_998c_ca67_437a_70f89493fa5d["DropMigrationView"] abecef96_5a79_62f4_9fa7_4cac90f0bb61 --> 129d37bd_998c_ca67_437a_70f89493fa5d b14d3855_8cce_38c9_8952_a9d014c2fb1b["migrate.ts"] abecef96_5a79_62f4_9fa7_4cac90f0bb61 --> b14d3855_8cce_38c9_8952_a9d014c2fb1b a11e5277_29c6_14fc_5eda_d9fa4ed1ddc8["embeddedMigrations"] abecef96_5a79_62f4_9fa7_4cac90f0bb61 --> a11e5277_29c6_14fc_5eda_d9fa4ed1ddc8 0f00c7dd_5eba_f1f8_c559_a99431086500["chalk"] abecef96_5a79_62f4_9fa7_4cac90f0bb61 --> 0f00c7dd_5eba_f1f8_c559_a99431086500 9a46d98d_eb2d_c1e4_a37b_506dd514a6a7["fs"] abecef96_5a79_62f4_9fa7_4cac90f0bb61 --> 9a46d98d_eb2d_c1e4_a37b_506dd514a6a7 a506b568_7d24_7568_35df_af935066e9fd["hanji"] abecef96_5a79_62f4_9fa7_4cac90f0bb61 --> a506b568_7d24_7568_35df_af935066e9fd 412eac48_6e13_8b0f_b7b2_5c943c225130["path"] abecef96_5a79_62f4_9fa7_4cac90f0bb61 --> 412eac48_6e13_8b0f_b7b2_5c943c225130 5bf76609_579e_d312_b33b_ab5b8b683111["schema.ts"] 5bf76609_579e_d312_b33b_ab5b8b683111 --> abecef96_5a79_62f4_9fa7_4cac90f0bb61 style abecef96_5a79_62f4_9fa7_4cac90f0bb61 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import chalk from 'chalk';
import { readFileSync, rmSync, writeFileSync } from 'fs';
import fs from 'fs';
import { render } from 'hanji';
import { join } from 'path';
import { Journal } from '../../utils';
import { DropMigrationView } from '../views';
import { embeddedMigrations } from './migrate';
export const dropMigration = async ({
out,
bundle,
}: {
out: string;
bundle: boolean;
}) => {
const metaFilePath = join(out, 'meta', '_journal.json');
const journal = JSON.parse(readFileSync(metaFilePath, 'utf-8')) as Journal;
if (journal.entries.length === 0) {
console.log(
`[${chalk.blue('i')}] no migration entries found in ${metaFilePath}`,
);
return;
}
const result = await render(new DropMigrationView(journal.entries));
if (result.status === 'aborted') return;
delete journal.entries[journal.entries.indexOf(result.data!)];
const resultJournal: Journal = {
...journal,
entries: journal.entries.filter(Boolean),
};
const sqlFilePath = join(out, `${result.data.tag}.sql`);
const snapshotFilePath = join(
out,
'meta',
`${result.data.tag.split('_')[0]}_snapshot.json`,
);
rmSync(sqlFilePath);
rmSync(snapshotFilePath);
writeFileSync(metaFilePath, JSON.stringify(resultJournal, null, 2));
if (bundle) {
fs.writeFileSync(
join(out, `migrations.js`),
embeddedMigrations(resultJournal),
);
}
console.log(
`[${chalk.green('✓')}] ${
chalk.bold(
result.data.tag,
)
} migration successfully dropped`,
);
};
Domain
Subdomains
Functions
Dependencies
Imported By
Source
Frequently Asked Questions
What does drop.ts do?
drop.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleKit domain, CLIWorkflow subdomain.
What functions are defined in drop.ts?
drop.ts defines 1 function(s): dropMigration.
What does drop.ts depend on?
drop.ts imports 10 module(s): DropMigrationView, Journal, chalk, embeddedMigrations, fs, hanji, migrate.ts, path, and 2 more.
What files import drop.ts?
drop.ts is imported by 1 file(s): schema.ts.
Where is drop.ts in the architecture?
drop.ts is located at drizzle-kit/src/cli/commands/drop.ts (domain: DrizzleKit, subdomain: CLIWorkflow, directory: drizzle-kit/src/cli/commands).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free