Skip to content
Merged
Show file tree
Hide file tree
Changes from 18 commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
f90324c
feat: added ability to copy table schema & query (filters or without …
Rudra-Sankha-Sinhamahapatra Dec 31, 2025
e9e365e
fix: using cn
Rudra-Sankha-Sinhamahapatra Dec 31, 2025
877bc49
feat: adds enum support & added parsing for special char or hypens ta…
Rudra-Sankha-Sinhamahapatra Jan 2, 2026
ffd302b
feat: add label property to columns and update related components for…
letstri Jan 2, 2026
8f57b15
feat: refactor copy dialog to use tabs for format selection and updat…
letstri Jan 2, 2026
f56bb17
feat: adds data types support and added size calculation on columns
Rudra-Sankha-Sinhamahapatra Jan 2, 2026
2423a7d
feat: adds foreign key support
Rudra-Sankha-Sinhamahapatra Jan 2, 2026
4e9eb62
fix: merge conflicts
Rudra-Sankha-Sinhamahapatra Jan 6, 2026
09dd7ef
Merge branch 'main' of https://github.com/wannabespace/conar into fea…
letstri Jan 6, 2026
4fed82d
fix: query formatting, prisma where, syntaxes, added mappings
Rudra-Sankha-Sinhamahapatra Jan 7, 2026
255c557
refactor: removed eslint expect error
Rudra-Sankha-Sinhamahapatra Jan 7, 2026
1863f6c
chore: merge with main
Rudra-Sankha-Sinhamahapatra Jan 7, 2026
207542f
Merge branch 'main' of https://github.com/wannabespace/conar into fea…
Rudra-Sankha-Sinhamahapatra Jan 8, 2026
fa1aebf
Merge branch 'main' of https://github.com/wannabespace/conar into fea…
Rudra-Sankha-Sinhamahapatra Jan 8, 2026
75b365b
refactor: merge with main
Rudra-Sankha-Sinhamahapatra Jan 10, 2026
3803285
fix: merge conflicts
Rudra-Sankha-Sinhamahapatra Jan 23, 2026
2583117
Merge branch 'main' of https://github.com/wannabespace/conar into fea…
Rudra-Sankha-Sinhamahapatra Jan 23, 2026
1ee614e
Merge branch 'main' of https://github.com/wannabespace/conar into fea…
Rudra-Sankha-Sinhamahapatra Jan 26, 2026
06c2a9c
Merge branch 'main' of https://github.com/wannabespace/conar into fea…
letstri Jan 26, 2026
8944ab6
fix: prisma 1 to many relationship
Rudra-Sankha-Sinhamahapatra Jan 26, 2026
4dc0687
feat: adds foreign key relationship on drizzle
Rudra-Sankha-Sinhamahapatra Jan 26, 2026
7b144d7
feat: added lengths for columns in zod and prisma
Rudra-Sankha-Sinhamahapatra Jan 26, 2026
ff850e9
feat: adds indexes support
Rudra-Sankha-Sinhamahapatra Jan 26, 2026
39e0041
refactor: moved generators to separate folders
Rudra-Sankha-Sinhamahapatra Jan 26, 2026
74194d4
feat: add change-case package and update sidebar link component
letstri Jan 26, 2026
3882b9c
refactor: streamline schema generation functions
letstri Jan 26, 2026
82e1097
fix: alignments of table structure and added null for ts
Rudra-Sankha-Sinhamahapatra Jan 27, 2026
7834dbe
fix: changing drizzle case to camelCase
Rudra-Sankha-Sinhamahapatra Jan 27, 2026
1760716
feat: adds camelCase to zod & ts schema
Rudra-Sankha-Sinhamahapatra Jan 27, 2026
c6cf086
refactor: replaced toPascalCase with pascalCase
Rudra-Sankha-Sinhamahapatra Jan 27, 2026
9d60380
Merge branch 'main' of https://github.com/wannabespace/conar into fea…
Rudra-Sankha-Sinhamahapatra Jan 28, 2026
ba825d2
fix: prisma model name & key conventions
Rudra-Sankha-Sinhamahapatra Jan 28, 2026
bbfc467
fix: handles drizzle for special cases
Rudra-Sankha-Sinhamahapatra Jan 28, 2026
be6af9b
fix: handles special case for ts,zod,kysely
Rudra-Sankha-Sinhamahapatra Jan 28, 2026
a218d0e
fix: using unknown for json type on fields of zod & ts
Rudra-Sankha-Sinhamahapatra Jan 28, 2026
a72f401
fix: moving definitions to bottom
Rudra-Sankha-Sinhamahapatra Jan 28, 2026
6f192b2
fix: zod import
Rudra-Sankha-Sinhamahapatra Jan 28, 2026
c6925d2
fix: prisma file structure spacing
Rudra-Sankha-Sinhamahapatra Jan 28, 2026
c1392c3
fix: revert back to correct sql enums position
Rudra-Sankha-Sinhamahapatra Jan 28, 2026
2c2a556
fix: prisma schema structue formattin
Rudra-Sankha-Sinhamahapatra Jan 28, 2026
b0ea8a6
Merge branch 'main' of https://github.com/wannabespace/conar into fea…
letstri Jan 28, 2026
a85ff49
refactor: improved copy functionality and refactor format handling
letstri Jan 28, 2026
e09e94f
refactor: enhance dialog structure and copy button integration
letstri Jan 28, 2026
1c3026f
Merge branch 'main' of https://github.com/wannabespace/conar into fea…
letstri Jan 29, 2026
fb2d7bd
refactor: reorganize Prisma filter value type and update max length n…
letstri Jan 29, 2026
9ffaa1a
refactor: update query generation functions to use destructured param…
letstri Jan 30, 2026
b21db98
Merge branch 'main' of https://github.com/wannabespace/conar into fea…
letstri Jan 30, 2026
ff35936
refactor(dialects): introduce cold dialects
letstri Jan 30, 2026
cb5d26d
refactor(generators): update query and schema functions
letstri Jan 30, 2026
88688d7
feat: adds db onUpdate CasCade,onDelete CasCade & 1 to 1 relationship
Rudra-Sankha-Sinhamahapatra Jan 30, 2026
f84a58e
fix: merge conflict
Rudra-Sankha-Sinhamahapatra Jan 30, 2026
8918c39
feat(schema): adds default and SERIAL for postgres
Rudra-Sankha-Sinhamahapatra Jan 30, 2026
8be8930
refactor(dialects): rename getColdKysely to getColdDialect for clarity
letstri Jan 31, 2026
033f1f6
Merge branch 'feat/copy-table-queryAndSchema' of https://github.com/w…
letstri Jan 31, 2026
3619ce6
refactor(generators): streamline enum handling in schema generation
letstri Jan 31, 2026
ada1a45
refactor(generators): update getColumnType to return 'any' as default…
letstri Jan 31, 2026
70f29aa
refactor(generators): enhance schema generation and type handling acr…
letstri Jan 31, 2026
de11555
refactor(generators): simplify type handling in schema generation by …
letstri Jan 31, 2026
3fbaa9d
refactor(generators): optimize schema generation by consolidating col…
letstri Jan 31, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
export interface Column {
id: string
type?: string
label?: string
enum?: string
isArray?: boolean
isEditable?: boolean
isNullable?: boolean
maxLength?: number | null
precision?: number | null
scale?: number | null
unique?: string
primaryKey?: string
foreign?: {
Expand Down
19 changes: 18 additions & 1 deletion apps/desktop/src/entities/connection/sql/columns.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,14 @@ export const columnType = type({
'id': 'string',
'default': 'string | null',
'type': 'string',
'label': 'string',
'enum?': 'string',
'isArray?': 'boolean',
'editable?': 'boolean',
'nullable': 'boolean | 1 | 0',
'maxLength?': 'number | null',
'precision?': 'number | null',
'scale?': 'number | null',
})
.pipe(({ editable, nullable, ...data }) => ({
...data,
Expand Down Expand Up @@ -67,6 +71,9 @@ export const columnsQuery = createQuery({
'column_default as default',
'data_type',
'udt_name',
'character_maximum_length as maxLength',
'numeric_precision as precision',
'numeric_scale as scale',
eb.case('is_nullable')
.when('YES')
.then(true)
Expand All @@ -88,7 +95,8 @@ export const columnsQuery = createQuery({

return query.map(({ data_type, udt_name, ...row }) => ({
...row,
type: data_type === 'ARRAY' ? `${getPgColumnType(data_type, udt_name)}[]` : getPgColumnType(data_type, udt_name),
type: data_type === 'ARRAY' ? `${udt_name.slice(1)}[]` : data_type,
label: data_type === 'ARRAY' ? `${getPgColumnType(data_type, udt_name)}[]` : getPgColumnType(data_type, udt_name),
// TODO: handle enum name if data_type is ARRAY
enum: data_type === 'USER-DEFINED' ? udt_name : undefined,
isArray: data_type === 'ARRAY',
Expand All @@ -102,6 +110,9 @@ export const columnsQuery = createQuery({
'TABLE_NAME as table',
'COLUMN_NAME as id',
'COLUMN_DEFAULT as default',
'CHARACTER_MAXIMUM_LENGTH as maxLength',
'NUMERIC_PRECISION as precision',
'NUMERIC_SCALE as scale',
eb.fn.coalesce('DATA_TYPE', 'COLUMN_TYPE').as('type'),
eb
.case('IS_NULLABLE')
Expand All @@ -120,6 +131,7 @@ export const columnsQuery = createQuery({

return query.map(column => ({
...column,
label: column.type,
enum: column.type === 'set' || column.type === 'enum' ? column.id : undefined,
isArray: column.type === 'set',
} satisfies typeof columnType.inferIn))
Expand All @@ -132,6 +144,9 @@ export const columnsQuery = createQuery({
'TABLE_NAME as table',
'COLUMN_NAME as name',
'COLUMN_DEFAULT as default',
'CHARACTER_MAXIMUM_LENGTH as maxLength',
'NUMERIC_PRECISION as precision',
'NUMERIC_SCALE as scale',
'DATA_TYPE as type',
eb
.case('IS_NULLABLE')
Expand All @@ -151,6 +166,7 @@ export const columnsQuery = createQuery({
return query.map(({ name, ...column }) => ({
...column,
id: name,
label: column.type,
enum: column.type === 'set' || column.type === 'enum' ? name : undefined,
isArray: column.type === 'set',
} satisfies typeof columnType.inferIn))
Expand Down Expand Up @@ -180,6 +196,7 @@ export const columnsQuery = createQuery({

return query.map(row => ({
...row,
label: row.type,
enum: row.type.includes('Enum') ? row.id : undefined,
type: getClickhouseColumnType(row.type),
}))
Expand Down
Loading