drizzle-team / drizzle-team/drizzle-orm

[BUG]: Mysql `query` generating invalid SQL

Open
#2,151 3 comments 1 reaction 0 assignees View on GitHub
bug db/mysql rqb
Dominant language
TypeScript
Stars
35.8k
Forks
1.6k
Avg merge
2d 7h
Merged PRs (30d)
4

Description

### What version of `drizzle-orm` are you using?

0.30.7

### What version of `drizzle-kit` are you using?

_No response_

### Describe the Bug

I am using MySQL version 5.6, but the SQL being generated is for MySQL >= 8, how can I configure drizzle so that it supports a lower version

```sql
select
`vistoriachecklist`.`id`,
`vistoriachecklist`.`nome`,
`vistoriachecklist`.`modificacaoData`,
`vistoriachecklist`.`modificacaoUsuario`,
`vistoriachecklist`.`clienteId`,
`vistoriachecklist`.`empreendimentoId`,
`vistoriachecklist_auth_usuario`.`data` as `auth_usuario`,
`vistoriachecklist_vistoriachecklistitem`.`data` as `vistoriachecklistitem`
from
`vistoriachecklist`
left join lateral (
select
json_array(`vistoriachecklist_auth_usuario`.`id`, `vistoriachecklist_auth_usuario`.`nome`, `vistoriachecklist_auth_usuario`.`email`, `vistoriachecklist_auth_usuario`.`senha`, `vistoriachecklist_auth_usuario`.`status`, `vistoriachecklist_auth_usuario`.`qualificacaoProfissional`, `vistoriachecklist_auth_usuario`.`numRegistroConselho`, `vistoriachecklist_auth_usuario`.`alertas`, `vistoriachecklist_auth_usuario`.`criacaoData`, `vistoriachecklist_auth_usuario`.`modificacaoData`, `vistoriachecklist_auth_usuario`.`modificacaoUsuario`, `vistoriachecklist_auth_usuario`.`tipoAcesso`, `vistoriachecklist_auth_usuario`.`user_id`, `vistoriachecklist_auth_usuario`.`funcaoId`, `vistoriachecklist_auth_usuario`.`visualizouAvisoInicial`, `vistoriachecklist_auth_usuario`.`aceitouTermos`, `vistoriachecklist_auth_usuario`.`valorCobrado`, `vistoriachecklist_auth_usuario`.`dataAceiteTermos`, `vistoriachecklist_auth_usuario`.`currentWebSession`, `vistoriachecklist_auth_usuario`.`currentMobileSession`, `vistoriachecklist_auth_usuario`.`isPartner`, `vistoriachecklist_auth_usuario`.`dataDesativacao`, `vistoriachecklist_auth_usuario`.`loginType`) as `data`
from
(
select
*
from
`auth_usuario` `vistoriachecklist_auth_usuario`
where
`vistoriachecklist_auth_usuario`.`id` = `vistoriachecklist`.`modificacaoUsuario`
limit 1) `vistoriachecklist_auth_usuario`) `vistoriachecklist_auth_usuario` on
true
left join lateral (
select
coalesce(json_arrayagg(json_array(`vistoriachecklist_vistoriachecklistitem`.`id`, `vistoriachecklist_vistoriachecklistitem`.`checklistId`, `vistoriachecklist_vistoriachecklistitem`.`itemId`, `vistoriachecklist_vistoriachecklistitem`.`modificacaoData`, `vistoriachecklist_vistoriachecklistitem_vistoriacontroleambiental`.`data`)), json_array()) as `data`
from
`vistoriachecklistitem` `vistoriachecklist_vistoriachecklistitem`
left join lateral (
select
json_array(`vistoriachecklist_vistoriachecklistitem_vistoriacontroleambiental`.`id`, `vistoriachecklist_vistoriachecklistitem_vistoriacontroleambiental`.`nome`, `vistoriachecklist_vistoriachecklistitem_vistoriacontroleambiental`.`modificacaoUsuario`, `vistoriachecklist_vistoriachecklistitem_vistoriacontroleambiental`.`modificacaoData`) as `data`
from
(
select
*
from
`vistoriacontroleambiental` `vistoriachecklist_vistoriachecklistitem_vistoriacontroleambiental`
where
`vistoriachecklist_vistoriachecklistitem_vistoriacontroleambiental`.`id` = `vistoriachecklist_vistoriachecklistitem`.`itemId`
limit 1) `vistoriachecklist_vistoriachecklistitem_vistoriacontroleambiental`) `vistoriachecklist_vistoriachecklistitem_vistoriacontroleambiental` on
true
where
`vistoriachecklist_vistoriachecklistitem`.`id` = `vistoriachecklist`.`id`) `vistoriachecklist_vistoriachecklistitem` on
true
where
`vistoriachecklist`.`id` = 1
limit 1
```

Here is the code that generates that query:

![image](https://github.com/drizzle-team/drizzle-orm/assets/150804202/e1474b64-7e49-4ca9-811b-165cc3a3fe83)

And here is the definition for the `getClientDbDrizzle()`

![image](https://github.com/drizzle-team/drizzle-orm/assets/150804202/9ee7b6b3-9a8f-4b46-8c2f-71977d5e4a89)

### Expected behavior

For it to generate a valid query

### Environment & setup

Development

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.