sqlboiler
sqlboiler copied to clipboard
psql placeholder numeration in query is not incremented
Hi team
I have a trouble with query. Looks like boiler doesn't increment counter for parameters placeholders for postgresql. The schema is as follow:
CREATE TABLE IF NOT EXISTS device (
id SERIAL PRIMARY KEY,
hostname VARCHAR(100),
device_address VARCHAR(100),
serial_number VARCHAR(100) NOT NULL,
UNIQUE(serial_number),
UNIQUE(device_address)
);
CREATE TABLE IF NOT EXISTS interface (
id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
device_id INT NOT NULL,
CONSTRAINT interface_device_fkey FOREIGN KEY (device_id) REFERENCES device(id) ON DELETE CASCADE
);
When I run the following code
localDevice, err := dbmodels.Devices(qm.Where("device_address = $1", src)).One(ctx, s.DB)
localInterface, err := localDevice.Interfaces(qm.Select("id"), qm.Where("name = $1", item.Name)).One(ctx, s.DB)
I got the error below:
failed to execute a one query for interface: bind failed to execute query: pq: operator does not exist: integer = text
After turning on debug for boil, I see the actual query
SELECT "id" FROM "interface" WHERE (name = $1) AND ("interface"."device_id"=$1) LIMIT 1;
[TenGigabitEthernet0/0/0 1]
Due to some reason I have $1 mentioned twice in query