Drizzle dynamic query table aliasing
16:54 04 Jun 2024

Im trying to perform a select alias similar to how it normally is done:

  let deviceQuery = qb
      .select({
        ...getTableColumns(deviceTable),
        ...getTableColumns(vehicleTable),
        id: deviceTable.id,
        vehicleId: vehicleTable.id,
      })
      .from(deviceTable)
      .innerJoin(vehicleTable, eq(deviceTable.vehicleId, vehicleTable.id))
      .$dynamic();

But as I'm trying to see the generated SQL, its not returning as I'm expecting: 'select "devices"."id", "vehicles"."id", "vehicles"."external_account_id", "devices"."connection_status", "devices"."battery_level_in_volts", "devices"."device_type", "devices"."serial_number", "devices"."installed_by", "devices"."imei", "vehicles"."created_at", "vehicles"."updated_at", "vehicles"."vehicle_tag", "vehicles"."odometer_in_kilometers" from "devices" inner join "vehicles" on "devices"."vehicle_id" = "vehicles"."id"'

as you can see there's no column aliasing. How to fix it?

drizzle-orm