Home / File/ sqliteUp.ts — drizzle-orm Source File

sqliteUp.ts — drizzle-orm Source File

Architecture documentation for sqliteUp.ts, a typescript file in the drizzle-orm codebase. 5 imports, 1 dependents.

File typescript DrizzleKit CLIWorkflow 5 imports 1 dependents 2 functions

Entity Profile

Dependency Diagram

graph LR
  94965299_9f07_b2e2_0976_2d31bbc17f1a["sqliteUp.ts"]
  0f00c7dd_5eba_f1f8_c559_a99431086500["chalk"]
  94965299_9f07_b2e2_0976_2d31bbc17f1a --> 0f00c7dd_5eba_f1f8_c559_a99431086500
  9a46d98d_eb2d_c1e4_a37b_506dd514a6a7["fs"]
  94965299_9f07_b2e2_0976_2d31bbc17f1a --> 9a46d98d_eb2d_c1e4_a37b_506dd514a6a7
  01e00b35_5de9_4e4e_2b6b_d50401fec78b["global"]
  94965299_9f07_b2e2_0976_2d31bbc17f1a --> 01e00b35_5de9_4e4e_2b6b_d50401fec78b
  982129f7_ff78_64a4_687d_b0ea5ddf7070["sqliteSchema"]
  94965299_9f07_b2e2_0976_2d31bbc17f1a --> 982129f7_ff78_64a4_687d_b0ea5ddf7070
  96cd5198_cc88_1f8f_6667_aa481b3b3517["utils"]
  94965299_9f07_b2e2_0976_2d31bbc17f1a --> 96cd5198_cc88_1f8f_6667_aa481b3b3517
  5bf76609_579e_d312_b33b_ab5b8b683111["schema.ts"]
  5bf76609_579e_d312_b33b_ab5b8b683111 --> 94965299_9f07_b2e2_0976_2d31bbc17f1a
  style 94965299_9f07_b2e2_0976_2d31bbc17f1a fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import chalk from 'chalk';
import { writeFileSync } from 'fs';
import { mapEntries } from 'src/global';
import { SQLiteSchema, sqliteSchemaV5 } from 'src/serializer/sqliteSchema';
import { prepareOutFolder, validateWithReport } from 'src/utils';

export const upSqliteHandler = (out: string) => {
	const { snapshots } = prepareOutFolder(out, 'sqlite');
	const report = validateWithReport(snapshots, 'sqlite');

	report.nonLatest
		.map((it) => ({
			path: it,
			raw: report.rawMap[it]!! as Record<string, any>,
		}))
		.forEach((it) => {
			const path = it.path;
			const result = updateUpToV6(it.raw);

			console.log(`[${chalk.green('✓')}] ${path}`);

			writeFileSync(path, JSON.stringify(result, null, 2));
		});

	console.log("Everything's fine 🐶🔥");
};

const updateUpToV6 = (json: Record<string, any>): SQLiteSchema => {
	const schema = sqliteSchemaV5.parse(json);

	const tables = mapEntries(schema.tables, (tableKey, table) => {
		const columns = mapEntries(table.columns, (key, value) => {
			if (
				value.default
				&& (typeof value.default === 'object' || Array.isArray(value.default))
			) {
				value.default = `'${JSON.stringify(value.default)}'`;
			}
			return [key, value];
		});
		table.columns = columns;
		return [tableKey, table];
	});

	return {
		...schema,
		version: '6',
		dialect: 'sqlite',
		tables: tables,
		views: {},
	};
};

Domain

Subdomains

Dependencies

  • chalk
  • fs
  • global
  • sqliteSchema
  • utils

Frequently Asked Questions

What does sqliteUp.ts do?
sqliteUp.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 sqliteUp.ts?
sqliteUp.ts defines 2 function(s): upSqliteHandler, updateUpToV6.
What does sqliteUp.ts depend on?
sqliteUp.ts imports 5 module(s): chalk, fs, global, sqliteSchema, utils.
What files import sqliteUp.ts?
sqliteUp.ts is imported by 1 file(s): schema.ts.
Where is sqliteUp.ts in the architecture?
sqliteUp.ts is located at drizzle-kit/src/cli/commands/sqliteUp.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