Skip to content

Commit

Permalink
remove views and generated columns from drizzle-kit
Browse files Browse the repository at this point in the history
  • Loading branch information
Rodriguespn committed Nov 13, 2024
1 parent d167aa8 commit 0d204bf
Show file tree
Hide file tree
Showing 43 changed files with 499 additions and 1,014 deletions.
7 changes: 3 additions & 4 deletions drizzle-kit/src/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import {
roleResolver,
schemasResolver,
sequencesResolver,
singleStoreViewsResolver,
sqliteViewsResolver,
tablesResolver,
viewsResolver,
Expand Down Expand Up @@ -396,7 +395,7 @@ export const generateSingleStoreDrizzleJson = async (

const id = randomUUID();

const snapshot = generateSingleStoreSnapshot(prepared.tables, prepared.views, casing);
const snapshot = generateSingleStoreSnapshot(prepared.tables, /* prepared.views, */ casing);

return {
...snapshot,
Expand All @@ -422,7 +421,7 @@ export const generateSingleStoreMigration = async (
squashedCur,
tablesResolver,
columnsResolver,
singleStoreViewsResolver,
/* singleStoreViewsResolver, */
validatedPrev,
validatedCur,
'push',
Expand Down Expand Up @@ -465,7 +464,7 @@ export const pushSingleStoreSchema = async (
squashedCur,
tablesResolver,
columnsResolver,
singleStoreViewsResolver,
/* singleStoreViewsResolver, */
validatedPrev,
validatedCur,
'push',
Expand Down
2 changes: 1 addition & 1 deletion drizzle-kit/src/cli/commands/introspect.ts
Original file line number Diff line number Diff line change
Expand Up @@ -347,7 +347,7 @@ export const introspectSingleStore = async (
squashSingleStoreScheme(schema),
tablesResolver,
columnsResolver,
mySqlViewsResolver,
/* singleStoreViewsResolver, */
drySingleStore,
schema,
);
Expand Down
15 changes: 5 additions & 10 deletions drizzle-kit/src/cli/commands/migrate.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,7 @@ import {
import chalk from 'chalk';
import { render } from 'hanji';
import path, { join } from 'path';
import {
SingleStoreSchema,
singlestoreSchema,
squashSingleStoreScheme,
ViewSquashed as SingleStoreViewSquashed,
} from 'src/serializer/singlestoreSchema';
import { SingleStoreSchema, singlestoreSchema, squashSingleStoreScheme } from 'src/serializer/singlestoreSchema';
import { TypeOf } from 'zod';
import type { CommonSchema } from '../../schemaValidator';
import { MySqlSchema, mysqlSchema, squashMysqlScheme, ViewSquashed } from '../../serializer/mysqlSchema';
Expand Down Expand Up @@ -152,7 +147,7 @@ export const mySqlViewsResolver = async (
}
};

export const singleStoreViewsResolver = async (
/* export const singleStoreViewsResolver = async (
input: ResolverInput<SingleStoreViewSquashed & { schema: '' }>,
): Promise<ResolverOutputWithMoved<SingleStoreViewSquashed>> => {
try {
Expand All @@ -172,7 +167,7 @@ export const singleStoreViewsResolver = async (
console.error(e);
throw e;
}
};
}; */

export const sqliteViewsResolver = async (
input: ResolverInput<SQLiteView & { schema: '' }>,
Expand Down Expand Up @@ -628,7 +623,7 @@ export const prepareSingleStorePush = async (
squashedCur,
tablesResolver,
columnsResolver,
mySqlViewsResolver,
/* singleStoreViewsResolver, */
validatedPrev,
validatedCur,
'push',
Expand Down Expand Up @@ -682,7 +677,7 @@ export const prepareAndMigrateSingleStore = async (config: GenerateConfig) => {
squashedCur,
tablesResolver,
columnsResolver,
mySqlViewsResolver,
/* singleStoreViewsResolver, */
validatedPrev,
validatedCur,
);
Expand Down
10 changes: 5 additions & 5 deletions drizzle-kit/src/introspect-singlestore.ts
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ export const schemaToTypeScript = (
{ singlestore: [] as string[] },
);

Object.values(schema.views).forEach((it) => {
/* Object.values(schema.views).forEach((it) => {
imports.singlestore.push('singlestoreView');
const columnImports = Object.values(it.columns)
Expand Down Expand Up @@ -221,7 +221,7 @@ export const schemaToTypeScript = (
});
imports.singlestore.push(...columnImports);
});
}); */

const tableStatements = Object.values(schema.tables).map((table) => {
const func = 'singlestoreTable';
Expand Down Expand Up @@ -272,7 +272,7 @@ export const schemaToTypeScript = (
return statement;
});

const viewsStatements = Object.values(schema.views).map((view) => {
/* const viewsStatements = Object.values(schema.views).map((view) => {
const { columns, name, algorithm, definition, sqlSecurity, withCheckOption } = view;
const func = 'singlestoreView';
let statement = '';
Expand Down Expand Up @@ -300,7 +300,7 @@ export const schemaToTypeScript = (
statement += `.as(sql\`${definition?.replaceAll('`', '\\`')}\`);`;
return statement;
});
}); */

const uniqueSingleStoreImports = [
'singlestoreTable',
Expand All @@ -317,7 +317,7 @@ export const schemaToTypeScript = (
let decalrations = '';
decalrations += tableStatements.join('\n\n');
decalrations += '\n';
decalrations += viewsStatements.join('\n\n');
/* decalrations += viewsStatements.join('\n\n'); */

const file = importsTs + decalrations;

Expand Down
96 changes: 11 additions & 85 deletions drizzle-kit/src/jsonStatements.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,7 @@ import {
View as PgView,
ViewWithOption,
} from './serializer/pgSchema';
import {
SingleStoreKitInternals,
SingleStoreSchema,
SingleStoreSquasher,
View as SingleStoreView,
} from './serializer/singlestoreSchema';
import { SingleStoreKitInternals, SingleStoreSchema, SingleStoreSquasher } from './serializer/singlestoreSchema';
import {
SQLiteKitInternals,
SQLiteSchemaInternal,
Expand Down Expand Up @@ -679,10 +674,10 @@ export type JsonCreateMySqlViewStatement = {
replace: boolean;
} & Omit<MySqlView, 'columns' | 'isExisting'>;

export type JsonCreateSingleStoreViewStatement = {
/* export type JsonCreateSingleStoreViewStatement = {
type: 'singlestore_create_view';
replace: boolean;
} & Omit<SingleStoreView, 'columns' | 'isExisting'>;
} & Omit<SingleStoreView, 'columns' | 'isExisting'>; */

export type JsonCreateSqliteViewStatement = {
type: 'sqlite_create_view';
Expand Down Expand Up @@ -767,9 +762,9 @@ export type JsonAlterMySqlViewStatement = {
type: 'alter_mysql_view';
} & Omit<MySqlView, 'isExisting'>;

export type JsonAlterSingleStoreViewStatement = {
/* export type JsonAlterSingleStoreViewStatement = {
type: 'alter_singlestore_view';
} & Omit<SingleStoreView, 'isExisting'>;
} & Omit<SingleStoreView, 'isExisting'>; */

export type JsonAlterViewStatement =
| JsonAlterViewAlterSchemaStatement
Expand Down Expand Up @@ -853,8 +848,8 @@ export type JsonStatement =
| JsonAlterViewStatement
| JsonCreateMySqlViewStatement
| JsonAlterMySqlViewStatement
| JsonCreateSingleStoreViewStatement
| JsonAlterSingleStoreViewStatement
/* | JsonCreateSingleStoreViewStatement
| JsonAlterSingleStoreViewStatement */
| JsonCreateSqliteViewStatement
| JsonCreateCheckConstraint
| JsonDeleteCheckConstraint
Expand Down Expand Up @@ -3354,7 +3349,7 @@ export const prepareMySqlCreateViewJson = (
};
};

export const prepareSingleStoreCreateViewJson = (
/* export const prepareSingleStoreCreateViewJson = (
name: string,
definition: string,
meta: string,
Expand All @@ -3370,7 +3365,7 @@ export const prepareSingleStoreCreateViewJson = (
withCheckOption,
replace,
};
};
}; */

export const prepareSqliteCreateViewJson = (
name: string,
Expand Down Expand Up @@ -3498,77 +3493,8 @@ export const prepareMySqlAlterView = (
return { type: 'alter_mysql_view', ...view };
};

export const prepareSingleStoreAlterView = (
/* export const prepareSingleStoreAlterView = (
view: Omit<SingleStoreView, 'isExisting'>,
): JsonAlterSingleStoreViewStatement => {
return { type: 'alter_singlestore_view', ...view };
};

export const prepareAddCompositePrimaryKeySingleStore = (
tableName: string,
pks: Record<string, string>,
// TODO: remove?
json1: SingleStoreSchema,
json2: SingleStoreSchema,
): JsonCreateCompositePK[] => {
const res: JsonCreateCompositePK[] = [];
for (const it of Object.values(pks)) {
const unsquashed = SingleStoreSquasher.unsquashPK(it);

if (
unsquashed.columns.length === 1
&& json1.tables[tableName]?.columns[unsquashed.columns[0]]?.primaryKey
) {
continue;
}

res.push({
type: 'create_composite_pk',
tableName,
data: it,
constraintName: json2.tables[tableName].compositePrimaryKeys[unsquashed.name].name,
} as JsonCreateCompositePK);
}
return res;
};

export const prepareDeleteCompositePrimaryKeySingleStore = (
tableName: string,
pks: Record<string, string>,
// TODO: remove?
json1: SingleStoreSchema,
): JsonDeleteCompositePK[] => {
return Object.values(pks).map((it) => {
return {
type: 'delete_composite_pk',
tableName,
data: it,
constraintName: json1.tables[tableName].compositePrimaryKeys[
SingleStoreSquasher.unsquashPK(it).name
].name,
} as JsonDeleteCompositePK;
});
};

export const prepareAlterCompositePrimaryKeySingleStore = (
tableName: string,
pks: Record<string, { __old: string; __new: string }>,
// TODO: remove?
json1: SingleStoreSchema,
json2: SingleStoreSchema,
): JsonAlterCompositePK[] => {
return Object.values(pks).map((it) => {
return {
type: 'alter_composite_pk',
tableName,
old: it.__old,
new: it.__new,
oldConstraintName: json1.tables[tableName].compositePrimaryKeys[
SingleStoreSquasher.unsquashPK(it.__old).name
].name,
newConstraintName: json2.tables[tableName].compositePrimaryKeys[
SingleStoreSquasher.unsquashPK(it.__new).name
].name,
} as JsonAlterCompositePK;
});
};
}; */
4 changes: 2 additions & 2 deletions drizzle-kit/src/serializer/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,9 @@ export const serializeSingleStore = async (
const { prepareFromSingleStoreImports } = await import('./singlestoreImports');
const { generateSingleStoreSnapshot } = await import('./singlestoreSerializer');

const { tables, views } = await prepareFromSingleStoreImports(filenames);
const { tables /* views */ } = await prepareFromSingleStoreImports(filenames);

return generateSingleStoreSnapshot(tables, views, casing);
return generateSingleStoreSnapshot(tables, /* views, */ casing);
};

export const prepareFilenames = (path: string | string[]) => {
Expand Down
16 changes: 8 additions & 8 deletions drizzle-kit/src/serializer/singlestoreImports.ts
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
import { is } from 'drizzle-orm';
import { AnySingleStoreTable, SingleStoreTable, SingleStoreView } from 'drizzle-orm/singlestore-core';
import { AnySingleStoreTable, SingleStoreTable } from 'drizzle-orm/singlestore-core';
import { safeRegister } from '../cli/commands/utils';

export const prepareFromExports = (exports: Record<string, unknown>) => {
const tables: AnySingleStoreTable[] = [];
const views: SingleStoreView[] = [];
/* const views: SingleStoreView[] = []; */

const i0values = Object.values(exports);
i0values.forEach((t) => {
if (is(t, SingleStoreTable)) {
tables.push(t);
}

if (is(t, SingleStoreView)) {
/* if (is(t, SingleStoreView)) {
views.push(t);
}
} */
});

return { tables, views };
return { tables /* views */ };
};

export const prepareFromSingleStoreImports = async (imports: string[]) => {
const tables: AnySingleStoreTable[] = [];
const views: SingleStoreView[] = [];
/* const views: SingleStoreView[] = []; */

const { unregister } = await safeRegister();
for (let i = 0; i < imports.length; i++) {
Expand All @@ -31,8 +31,8 @@ export const prepareFromSingleStoreImports = async (imports: string[]) => {
const prepared = prepareFromExports(i0);

tables.push(...prepared.tables);
views.push(...prepared.views);
/* views.push(...prepared.views); */
}
unregister();
return { tables: Array.from(new Set(tables)), views };
return { tables: Array.from(new Set(tables)) /* , views */ };
};
Loading

0 comments on commit 0d204bf

Please sign in to comment.