Intento escribir este comando:
DELETE FROM locations ORDER BY id DESC LIMIT 1en knex.js. Escribo este código:
knex('locations').delete().orderBy('id', 'desc').limit(1).toString()pero vuelve
DELETE FROM locations¿Por qué?
Porque LIMIT no es compatible con Postgres y se supone que Knex es compatible con MySQL y PostgreSQL. Consulte el problema de GitHub :
esta sintaxis no es compatible con Postgres, por lo que podría ser un poco inesperado si es posible en una base de datos y no en otra [...]
Abra una nueva solicitud de función si necesita cambiar esta función.
Allí se mencionó que funciona desde 0.6 pero no puedo verificar eso, parece que todavía no funciona, y esa parece ser una elección de diseño. (Personalmente, encuentro esto bastante problemático porque no hay ningún error, simplemente se elimina todo en silencio).
La única forma de manejar una instrucción DELETE LIMIT sería como una consulta sin formato con knex.raw entonces.