sqlboiler
sqlboiler copied to clipboard
Generated tests do not pass
What version of SQLBoiler are you using (sqlboiler --version
)?
$ sqlboiler --version
SQLBoiler v4.1.2
What is your database and version (eg. Postgresql 10)
sqlite3
If this happened at generation time what was the full SQLBoiler command you used to generate your models? (if not applicable leave blank)
If this happened at runtime what code produced the issue? (if not applicable leave blank)
$ go test -v ./pkg/models/
=== RUN TestParent
=== RUN TestParent/Events
=== PAUSE TestParent/Events
=== RUN TestParent/Streams
=== PAUSE TestParent/Streams
=== CONT TestParent/Events
=== CONT TestParent/Streams
--- PASS: TestParent (0.00s)
--- PASS: TestParent/Events (0.00s)
--- PASS: TestParent/Streams (0.00s)
=== RUN TestDelete
=== RUN TestDelete/Events
=== PAUSE TestDelete/Events
=== RUN TestDelete/Streams
=== PAUSE TestDelete/Streams
=== CONT TestDelete/Events
=== CONT TestDelete/Streams
TestDelete/Events: events_test.go:48: models: unable to insert into events: near ")": syntax error
TestDelete/Streams: streams_test.go:48: models: unable to insert into streams: near ")": syntax error
TestDelete/Events: events_test.go:54: should only have deleted one row, but affected: 0
TestDelete/Streams: streams_test.go:54: should only have deleted one row, but affected: 0
--- FAIL: TestDelete (0.00s)
--- FAIL: TestDelete/Events (0.00s)
--- FAIL: TestDelete/Streams (0.00s)
=== RUN TestQueryDeleteAll
=== RUN TestQueryDeleteAll/Events
=== PAUSE TestQueryDeleteAll/Events
=== RUN TestQueryDeleteAll/Streams
=== PAUSE TestQueryDeleteAll/Streams
=== CONT TestQueryDeleteAll/Events
=== CONT TestQueryDeleteAll/Streams
TestQueryDeleteAll/Events: events_test.go:81: models: unable to insert into events: near ")": syntax error
TestQueryDeleteAll/Streams: streams_test.go:81: models: unable to insert into streams: near ")": syntax error
TestQueryDeleteAll/Events: events_test.go:87: should only have deleted one row, but affected: 0
TestQueryDeleteAll/Streams: streams_test.go:87: should only have deleted one row, but affected: 0
--- FAIL: TestQueryDeleteAll (0.00s)
--- FAIL: TestQueryDeleteAll/Events (0.00s)
--- FAIL: TestQueryDeleteAll/Streams (0.00s)
=== RUN TestSliceDeleteAll
=== RUN TestSliceDeleteAll/Events
=== PAUSE TestSliceDeleteAll/Events
=== RUN TestSliceDeleteAll/Streams
=== PAUSE TestSliceDeleteAll/Streams
=== CONT TestSliceDeleteAll/Events
=== CONT TestSliceDeleteAll/Streams
TestSliceDeleteAll/Streams: streams_test.go:114: models: unable to insert into streams: near ")": syntax error
TestSliceDeleteAll/Events: events_test.go:114: models: unable to insert into events: near ")": syntax error
TestSliceDeleteAll/Streams: streams_test.go:122: should only have deleted one row, but affected: 0
TestSliceDeleteAll/Events: events_test.go:122: should only have deleted one row, but affected: 0
--- FAIL: TestSliceDeleteAll (0.00s)
--- FAIL: TestSliceDeleteAll/Streams (0.00s)
--- FAIL: TestSliceDeleteAll/Events (0.00s)
=== RUN TestExists
=== RUN TestExists/Events
=== PAUSE TestExists/Events
=== RUN TestExists/Streams
=== PAUSE TestExists/Streams
=== CONT TestExists/Events
=== CONT TestExists/Streams
TestExists/Events: events_test.go:149: models: unable to insert into events: near ")": syntax error
TestExists/Streams: streams_test.go:149: models: unable to insert into streams: near ")": syntax error
TestExists/Events: events_test.go:157: Expected EventExists to return true, but got false.
TestExists/Streams: streams_test.go:157: Expected StreamExists to return true, but got false.
--- FAIL: TestExists (0.00s)
--- FAIL: TestExists/Events (0.00s)
--- FAIL: TestExists/Streams (0.00s)
=== RUN TestFind
=== RUN TestFind/Events
=== PAUSE TestFind/Events
=== RUN TestFind/Streams
=== PAUSE TestFind/Streams
=== CONT TestFind/Events
=== CONT TestFind/Streams
TestFind/Events: events_test.go:175: models: unable to insert into events: near ")": syntax error
TestFind/Streams: streams_test.go:175: models: unable to insert into streams: near ")": syntax error
TestFind/Events: events_test.go:180: sql: no rows in result set
TestFind/Events: events_test.go:184: want a record, got nil
TestFind/Streams: streams_test.go:180: sql: no rows in result set
TestFind/Streams: streams_test.go:184: want a record, got nil
--- FAIL: TestFind (0.00s)
--- FAIL: TestFind/Events (0.00s)
--- FAIL: TestFind/Streams (0.00s)
=== RUN TestBind
=== RUN TestBind/Events
=== PAUSE TestBind/Events
=== RUN TestBind/Streams
=== PAUSE TestBind/Streams
=== CONT TestBind/Events
=== CONT TestBind/Streams
TestBind/Streams: streams_test.go:202: models: unable to insert into streams: near ")": syntax error
TestBind/Events: events_test.go:202: models: unable to insert into events: near ")": syntax error
TestBind/Events: events_test.go:206: sql: no rows in result set
TestBind/Streams: streams_test.go:206: sql: no rows in result set
--- FAIL: TestBind (0.00s)
--- FAIL: TestBind/Events (0.00s)
--- FAIL: TestBind/Streams (0.00s)
=== RUN TestOne
=== RUN TestOne/Events
=== PAUSE TestOne/Events
=== RUN TestOne/Streams
=== PAUSE TestOne/Streams
=== CONT TestOne/Events
=== CONT TestOne/Streams
TestOne/Events: events_test.go:224: models: unable to insert into events: near ")": syntax error
TestOne/Events: events_test.go:228: sql: no rows in result set
TestOne/Streams: streams_test.go:224: models: unable to insert into streams: near ")": syntax error
TestOne/Streams: streams_test.go:228: sql: no rows in result set
--- FAIL: TestOne (0.00s)
--- FAIL: TestOne/Events (0.00s)
--- FAIL: TestOne/Streams (0.00s)
=== RUN TestAll
=== RUN TestAll/Events
=== PAUSE TestAll/Events
=== RUN TestAll/Streams
=== PAUSE TestAll/Streams
=== CONT TestAll/Events
=== CONT TestAll/Streams
TestAll/Streams: streams_test.go:252: models: unable to insert into streams: near ")": syntax error
TestAll/Events: events_test.go:252: models: unable to insert into events: near ")": syntax error
TestAll/Streams: streams_test.go:255: models: unable to insert into streams: near ")": syntax error
TestAll/Events: events_test.go:255: models: unable to insert into events: near ")": syntax error
TestAll/Streams: streams_test.go:264: want 2 records, got: 0
TestAll/Events: events_test.go:264: want 2 records, got: 0
--- FAIL: TestAll (0.00s)
--- FAIL: TestAll/Streams (0.00s)
--- FAIL: TestAll/Events (0.00s)
=== RUN TestCount
=== RUN TestCount/Events
=== PAUSE TestCount/Events
=== RUN TestCount/Streams
=== PAUSE TestCount/Streams
=== CONT TestCount/Events
=== CONT TestCount/Streams
TestCount/Streams: streams_test.go:286: models: unable to insert into streams: near ")": syntax error
TestCount/Events: events_test.go:286: models: unable to insert into events: near ")": syntax error
TestCount/Streams: streams_test.go:289: models: unable to insert into streams: near ")": syntax error
TestCount/Events: events_test.go:289: models: unable to insert into events: near ")": syntax error
TestCount/Streams: streams_test.go:298: want 2 records, got: 0
TestCount/Events: events_test.go:298: want 2 records, got: 0
--- FAIL: TestCount (0.00s)
--- FAIL: TestCount/Streams (0.00s)
--- FAIL: TestCount/Events (0.00s)
=== RUN TestHooks
=== RUN TestHooks/Events
=== PAUSE TestHooks/Events
=== RUN TestHooks/Streams
=== PAUSE TestHooks/Streams
=== CONT TestHooks/Events
=== CONT TestHooks/Streams
--- PASS: TestHooks (0.00s)
--- PASS: TestHooks/Events (0.00s)
--- PASS: TestHooks/Streams (0.00s)
=== RUN TestInsert
=== RUN TestInsert/Events
=== PAUSE TestInsert/Events
=== RUN TestInsert/Events#01
=== PAUSE TestInsert/Events#01
=== RUN TestInsert/Streams
=== PAUSE TestInsert/Streams
=== RUN TestInsert/Streams#01
=== PAUSE TestInsert/Streams#01
=== CONT TestInsert/Events
=== CONT TestInsert/Streams
=== CONT TestInsert/Events#01
=== CONT TestInsert/Streams#01
TestInsert/Events: events_test.go:457: models: unable to insert into events: near ")": syntax error
TestInsert/Events: events_test.go:466: want one record, got: 0
TestInsert/Streams: streams_test.go:457: models: unable to insert into streams: near ")": syntax error
TestInsert/Streams: streams_test.go:466: want one record, got: 0
TestInsert/Events#01: events_test.go:484: models: unable to insert into events: near ")": syntax error
TestInsert/Streams#01: streams_test.go:484: models: unable to insert into streams: near ")": syntax error
TestInsert/Events#01: events_test.go:493: want one record, got: 0
TestInsert/Streams#01: streams_test.go:493: want one record, got: 0
--- FAIL: TestInsert (0.00s)
--- FAIL: TestInsert/Events (0.00s)
--- FAIL: TestInsert/Streams (0.00s)
--- FAIL: TestInsert/Events#01 (0.00s)
--- FAIL: TestInsert/Streams#01 (0.00s)
=== RUN TestToOne
=== RUN TestToOne/EventToStreamUsingStream
TestToOne/EventToStreamUsingStream: events_test.go:514: models: unable to insert into streams: near ")": syntax error
--- FAIL: TestToOne (0.00s)
--- FAIL: TestToOne/EventToStreamUsingStream (0.00s)
=== RUN TestOneToOne
--- PASS: TestOneToOne (0.00s)
=== RUN TestToMany
=== RUN TestToMany/StreamToEvents
TestToMany/StreamToEvents: streams_test.go:512: models: unable to insert into streams: near ")": syntax error
--- FAIL: TestToMany (0.00s)
--- FAIL: TestToMany/StreamToEvents (0.00s)
=== RUN TestToOneSet
=== RUN TestToOneSet/EventToStreamUsingEvents
TestToOneSet/EventToStreamUsingEvents: events_test.go:570: models: unable to populate default values for events: sql: no rows in result set
--- FAIL: TestToOneSet (0.00s)
--- FAIL: TestToOneSet/EventToStreamUsingEvents (0.00s)
=== RUN TestToOneRemove
--- PASS: TestToOneRemove (0.00s)
=== RUN TestOneToOneSet
--- PASS: TestOneToOneSet (0.00s)
=== RUN TestOneToOneRemove
--- PASS: TestOneToOneRemove (0.00s)
=== RUN TestToManyAdd
=== RUN TestToManyAdd/StreamToEvents
TestToManyAdd/StreamToEvents: streams_test.go:596: models: unable to populate default values for streams: sql: no rows in result set
--- FAIL: TestToManyAdd (0.00s)
--- FAIL: TestToManyAdd/StreamToEvents (0.00s)
=== RUN TestToManySet
--- PASS: TestToManySet (0.00s)
=== RUN TestToManyRemove
--- PASS: TestToManyRemove (0.00s)
=== RUN TestReload
=== RUN TestReload/Events
=== PAUSE TestReload/Events
=== RUN TestReload/Streams
=== PAUSE TestReload/Streams
=== CONT TestReload/Events
=== CONT TestReload/Streams
TestReload/Events: events_test.go:620: models: unable to insert into events: near ")": syntax error
TestReload/Streams: streams_test.go:664: models: unable to insert into streams: near ")": syntax error
TestReload/Events: events_test.go:624: sql: no rows in result set
TestReload/Streams: streams_test.go:668: sql: no rows in result set
--- FAIL: TestReload (0.00s)
--- FAIL: TestReload/Events (0.00s)
--- FAIL: TestReload/Streams (0.00s)
=== RUN TestReloadAll
=== RUN TestReloadAll/Events
=== PAUSE TestReloadAll/Events
=== RUN TestReloadAll/Streams
=== PAUSE TestReloadAll/Streams
=== CONT TestReloadAll/Events
=== CONT TestReloadAll/Streams
TestReloadAll/Events: events_test.go:642: models: unable to insert into events: near ")": syntax error
TestReloadAll/Streams: streams_test.go:686: models: unable to insert into streams: near ")": syntax error
--- FAIL: TestReloadAll (0.00s)
--- FAIL: TestReloadAll/Events (0.00s)
--- FAIL: TestReloadAll/Streams (0.00s)
=== RUN TestSelect
=== RUN TestSelect/Events
=== PAUSE TestSelect/Events
=== RUN TestSelect/Streams
=== PAUSE TestSelect/Streams
=== CONT TestSelect/Events
=== CONT TestSelect/Streams
TestSelect/Events: events_test.go:666: models: unable to insert into events: near ")": syntax error
TestSelect/Streams: streams_test.go:710: models: unable to insert into streams: near ")": syntax error
TestSelect/Events: events_test.go:675: want one record, got: 0
TestSelect/Streams: streams_test.go:719: want one record, got: 0
--- FAIL: TestSelect (0.00s)
--- FAIL: TestSelect/Events (0.00s)
--- FAIL: TestSelect/Streams (0.00s)
=== RUN TestUpdate
=== RUN TestUpdate/Events
=== PAUSE TestUpdate/Events
=== RUN TestUpdate/Streams
=== PAUSE TestUpdate/Streams
=== CONT TestUpdate/Events
=== CONT TestUpdate/Streams
TestUpdate/Events: events_test.go:705: models: unable to insert into events: near ")": syntax error
TestUpdate/Streams: streams_test.go:749: models: unable to insert into streams: near ")": syntax error
TestUpdate/Events: events_test.go:714: want one record, got: 0
TestUpdate/Streams: streams_test.go:758: want one record, got: 0
TestUpdate/Events: events_test.go:724: should only affect one row but affected 0
TestUpdate/Streams: streams_test.go:766: models: unable to update streams row: database is locked
--- FAIL: TestUpdate (0.00s)
--- FAIL: TestUpdate/Events (0.00s)
--- FAIL: TestUpdate/Streams (0.00s)
=== RUN TestSliceUpdateAll
=== RUN TestSliceUpdateAll/Events
=== PAUSE TestSliceUpdateAll/Events
=== RUN TestSliceUpdateAll/Streams
=== PAUSE TestSliceUpdateAll/Streams
=== CONT TestSliceUpdateAll/Events
=== CONT TestSliceUpdateAll/Streams
TestSliceUpdateAll/Events: events_test.go:746: models: unable to insert into events: near ")": syntax error
TestSliceUpdateAll/Streams: streams_test.go:790: models: unable to insert into streams: near ")": syntax error
TestSliceUpdateAll/Events: events_test.go:755: want one record, got: 0
TestSliceUpdateAll/Streams: streams_test.go:799: want one record, got: 0
TestSliceUpdateAll/Events: events_test.go:791: wanted one record updated but got 0
TestSliceUpdateAll/Streams: streams_test.go:835: wanted one record updated but got 0
--- FAIL: TestSliceUpdateAll (0.00s)
--- FAIL: TestSliceUpdateAll/Events (0.00s)
--- FAIL: TestSliceUpdateAll/Streams (0.00s)
FAIL
FAIL github.com/the-maldridge/nemo/pkg/models 0.019s
FAIL
What is the output of the command above with the -d
flag added to it? (Provided you are comfortable sharing this, it contains a blueprint of your schema)
Please provide a relevant database schema so we can replicate your issue (Provided you are comfortable sharing this)
CREATE TABLE streams (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title VARCHAR (512) NOT NULL,
description VARCHAR (4096),
archived BOOLEAN DEFAULT FALSE
);
CREATE TABLE events (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title VARCHAR (512) NOT NULL,
description VARCHAR (4096) NOT NULL,
archived BOOLEAN NOT NULL
DEFAULT FALSE,
stream_id INTEGER REFERENCES streams (id)
NOT NULL
);
Further information. What did you do, what did you expect?
I expected the tests to pass. I've gone hunting through the generated files, I've renamed my tables, I've so far not figured out what is the root cause of the failing tests.
Please turn on your debug mode to output the SQL of the requests.
$ go test -v ./pkg/models/ -test.sqldebug
=== RUN TestParent
=== RUN TestParent/Events
=== PAUSE TestParent/Events
=== RUN TestParent/Streams
=== PAUSE TestParent/Streams
=== CONT TestParent/Events
=== CONT TestParent/Streams
--- PASS: TestParent (0.00s)
--- PASS: TestParent/Events (0.00s)
--- PASS: TestParent/Streams (0.00s)
=== RUN TestDelete
=== RUN TestDelete/Events
=== PAUSE TestDelete/Events
=== RUN TestDelete/Streams
=== PAUSE TestDelete/Streams
=== CONT TestDelete/Events
=== CONT TestDelete/Streams
INSERT INTO "events" () VALUES ()
[]
INSERT INTO "streams" () VALUES ()
[]
TestDelete/Events: events_test.go:48: models: unable to insert into events: near ")": syntax error
DELETE FROM "events" WHERE "id"=?
{0 false}
TestDelete/Streams: streams_test.go:48: models: unable to insert into streams: near ")": syntax error
DELETE FROM "streams" WHERE "id"=?
{0 false}
TestDelete/Events: events_test.go:54: should only have deleted one row, but affected: 0
SELECT COUNT(*) FROM "events";
[]
TestDelete/Streams: streams_test.go:54: should only have deleted one row, but affected: 0
SELECT COUNT(*) FROM "streams";
[]
--- FAIL: TestDelete (0.00s)
--- FAIL: TestDelete/Events (0.00s)
--- FAIL: TestDelete/Streams (0.00s)
=== RUN TestQueryDeleteAll
=== RUN TestQueryDeleteAll/Events
=== PAUSE TestQueryDeleteAll/Events
=== RUN TestQueryDeleteAll/Streams
=== PAUSE TestQueryDeleteAll/Streams
=== CONT TestQueryDeleteAll/Events
=== CONT TestQueryDeleteAll/Streams
INSERT INTO "events" () VALUES ()
[]
TestQueryDeleteAll/Events: events_test.go:81: models: unable to insert into events: near ")": syntax error
DELETE FROM "events";
[]
INSERT INTO "streams" () VALUES ()
[]
TestQueryDeleteAll/Streams: streams_test.go:81: models: unable to insert into streams: near ")": syntax error
DELETE FROM "streams";
[]
TestQueryDeleteAll/Events: events_test.go:87: should only have deleted one row, but affected: 0
SELECT COUNT(*) FROM "events";
[]
TestQueryDeleteAll/Streams: streams_test.go:87: should only have deleted one row, but affected: 0
SELECT COUNT(*) FROM "streams";
[]
--- FAIL: TestQueryDeleteAll (0.00s)
--- FAIL: TestQueryDeleteAll/Events (0.00s)
--- FAIL: TestQueryDeleteAll/Streams (0.00s)
=== RUN TestSliceDeleteAll
=== RUN TestSliceDeleteAll/Events
=== PAUSE TestSliceDeleteAll/Events
=== RUN TestSliceDeleteAll/Streams
=== PAUSE TestSliceDeleteAll/Streams
=== CONT TestSliceDeleteAll/Events
=== CONT TestSliceDeleteAll/Streams
INSERT INTO "streams" () VALUES ()
[]
INSERT INTO "events" () VALUES ()
[]
TestSliceDeleteAll/Streams: streams_test.go:114: models: unable to insert into streams: near ")": syntax error
DELETE FROM "streams" WHERE ("id"=?)
TestSliceDeleteAll/Events: events_test.go:114: models: unable to insert into events: near ")": syntax error
DELETE FROM "events" WHERE ("id"=?)
[{0 false}]
[{0 false}]
TestSliceDeleteAll/Streams: streams_test.go:122: should only have deleted one row, but affected: 0
SELECT COUNT(*) FROM "streams";
[]
TestSliceDeleteAll/Events: events_test.go:122: should only have deleted one row, but affected: 0
SELECT COUNT(*) FROM "events";
[]
--- FAIL: TestSliceDeleteAll (0.00s)
--- FAIL: TestSliceDeleteAll/Streams (0.00s)
--- FAIL: TestSliceDeleteAll/Events (0.00s)
=== RUN TestExists
=== RUN TestExists/Events
=== PAUSE TestExists/Events
=== RUN TestExists/Streams
=== PAUSE TestExists/Streams
=== CONT TestExists/Events
=== CONT TestExists/Streams
INSERT INTO "events" () VALUES ()
[]
TestExists/Events: events_test.go:149: models: unable to insert into events: near ")": syntax error
select exists(select 1 from "events" where "id"=? limit 1)
{0 false}
INSERT INTO "streams" () VALUES ()
[]
TestExists/Streams: streams_test.go:149: models: unable to insert into streams: near ")": syntax error
select exists(select 1 from "streams" where "id"=? limit 1)
{0 false}
TestExists/Events: events_test.go:157: Expected EventExists to return true, but got false.
TestExists/Streams: streams_test.go:157: Expected StreamExists to return true, but got false.
--- FAIL: TestExists (0.00s)
--- FAIL: TestExists/Events (0.00s)
--- FAIL: TestExists/Streams (0.00s)
=== RUN TestFind
=== RUN TestFind/Events
=== PAUSE TestFind/Events
=== RUN TestFind/Streams
=== PAUSE TestFind/Streams
=== CONT TestFind/Events
=== CONT TestFind/Streams
INSERT INTO "events" () VALUES ()
[]
INSERT INTO "streams" () VALUES ()
[]
TestFind/Events: events_test.go:175: models: unable to insert into events: near ")": syntax error
select * from "events" where "id"=?
TestFind/Streams: streams_test.go:175: models: unable to insert into streams: near ")": syntax error
select * from "streams" where "id"=?
[{0 false}]
[{0 false}]
TestFind/Events: events_test.go:180: sql: no rows in result set
TestFind/Streams: streams_test.go:180: sql: no rows in result set
TestFind/Events: events_test.go:184: want a record, got nil
TestFind/Streams: streams_test.go:184: want a record, got nil
--- FAIL: TestFind (0.00s)
--- FAIL: TestFind/Events (0.00s)
--- FAIL: TestFind/Streams (0.00s)
=== RUN TestBind
=== RUN TestBind/Events
=== PAUSE TestBind/Events
=== RUN TestBind/Streams
=== PAUSE TestBind/Streams
=== CONT TestBind/Events
INSERT INTO "events" () VALUES ()
[]
=== CONT TestBind/Streams
TestBind/Events: events_test.go:202: models: unable to insert into events: near ")": syntax error
SELECT * FROM "events";
[]
INSERT INTO "streams" () VALUES ()
[]
TestBind/Streams: streams_test.go:202: models: unable to insert into streams: near ")": syntax error
SELECT * FROM "streams";
[]
TestBind/Events: events_test.go:206: sql: no rows in result set
TestBind/Streams: streams_test.go:206: sql: no rows in result set
--- FAIL: TestBind (0.00s)
--- FAIL: TestBind/Events (0.00s)
--- FAIL: TestBind/Streams (0.00s)
=== RUN TestOne
=== RUN TestOne/Events
=== PAUSE TestOne/Events
=== RUN TestOne/Streams
=== PAUSE TestOne/Streams
=== CONT TestOne/Events
=== CONT TestOne/Streams
INSERT INTO "events" () VALUES ()
[]
TestOne/Events: events_test.go:224: models: unable to insert into events: near ")": syntax error
SELECT * FROM "events" LIMIT 1;
[]
INSERT INTO "streams" () VALUES ()
[]
TestOne/Events: events_test.go:228: sql: no rows in result set
TestOne/Streams: streams_test.go:224: models: unable to insert into streams: near ")": syntax error
SELECT * FROM "streams" LIMIT 1;
[]
TestOne/Streams: streams_test.go:228: sql: no rows in result set
--- FAIL: TestOne (0.00s)
--- FAIL: TestOne/Events (0.00s)
--- FAIL: TestOne/Streams (0.00s)
=== RUN TestAll
=== RUN TestAll/Events
=== PAUSE TestAll/Events
=== RUN TestAll/Streams
=== PAUSE TestAll/Streams
=== CONT TestAll/Events
=== CONT TestAll/Streams
INSERT INTO "events" () VALUES ()
[]
INSERT INTO "streams" () VALUES ()
[]
TestAll/Events: events_test.go:252: models: unable to insert into events: near ")": syntax error
TestAll/Streams: streams_test.go:252: models: unable to insert into streams: near ")": syntax error
INSERT INTO "events" () VALUES ()
[]
TestAll/Events: events_test.go:255: models: unable to insert into events: near ")": syntax error
SELECT * FROM "events";
[]
INSERT INTO "streams" () VALUES ()
[]
TestAll/Streams: streams_test.go:255: models: unable to insert into streams: near ")": syntax error
SELECT * FROM "streams";
[]
TestAll/Events: events_test.go:264: want 2 records, got: 0
TestAll/Streams: streams_test.go:264: want 2 records, got: 0
--- FAIL: TestAll (0.00s)
--- FAIL: TestAll/Events (0.00s)
--- FAIL: TestAll/Streams (0.00s)
=== RUN TestCount
=== RUN TestCount/Events
=== PAUSE TestCount/Events
=== RUN TestCount/Streams
=== PAUSE TestCount/Streams
=== CONT TestCount/Events
=== CONT TestCount/Streams
INSERT INTO "events" () VALUES ()
[]
INSERT INTO "streams" () VALUES ()
[]
TestCount/Events: events_test.go:286: models: unable to insert into events: near ")": syntax error
INSERT INTO "events" () VALUES ()
[]
TestCount/Streams: streams_test.go:286: models: unable to insert into streams: near ")": syntax error
TestCount/Events: events_test.go:289: models: unable to insert into events: near ")": syntax error
INSERT INTO "streams" () VALUES ()
[]
TestCount/Streams: streams_test.go:289: models: unable to insert into streams: near ")": syntax error
SELECT COUNT(*) FROM "events";
[]
SELECT COUNT(*) FROM "streams";
[]
TestCount/Events: events_test.go:298: want 2 records, got: 0
TestCount/Streams: streams_test.go:298: want 2 records, got: 0
--- FAIL: TestCount (0.00s)
--- FAIL: TestCount/Events (0.00s)
--- FAIL: TestCount/Streams (0.00s)
=== RUN TestHooks
=== RUN TestHooks/Events
=== PAUSE TestHooks/Events
=== RUN TestHooks/Streams
=== PAUSE TestHooks/Streams
=== CONT TestHooks/Events
=== CONT TestHooks/Streams
--- PASS: TestHooks (0.00s)
--- PASS: TestHooks/Events (0.00s)
--- PASS: TestHooks/Streams (0.00s)
=== RUN TestInsert
=== RUN TestInsert/Events
=== PAUSE TestInsert/Events
=== RUN TestInsert/Events#01
=== PAUSE TestInsert/Events#01
=== RUN TestInsert/Streams
=== PAUSE TestInsert/Streams
=== RUN TestInsert/Streams#01
=== PAUSE TestInsert/Streams#01
=== CONT TestInsert/Events
=== CONT TestInsert/Streams
=== CONT TestInsert/Events#01
=== CONT TestInsert/Streams#01
INSERT INTO "events" () VALUES ()
[]
INSERT INTO "streams" () VALUES ()
[]
TestInsert/Events: events_test.go:457: models: unable to insert into events: near ")": syntax error
TestInsert/Streams: streams_test.go:457: models: unable to insert into streams: near ")": syntax error
SELECT COUNT(*) FROM "streams";
[]
SELECT COUNT(*) FROM "events";
[]
TestInsert/Streams: streams_test.go:466: want one record, got: 0
TestInsert/Events: events_test.go:466: want one record, got: 0
INSERT INTO "events" () VALUES ()
[]
INSERT INTO "streams" () VALUES ()
[]
TestInsert/Events#01: events_test.go:484: models: unable to insert into events: near ")": syntax error
TestInsert/Streams#01: streams_test.go:484: models: unable to insert into streams: near ")": syntax error
SELECT COUNT(*) FROM "events";
[]
SELECT COUNT(*) FROM "streams";
[]
TestInsert/Events#01: events_test.go:493: want one record, got: 0
TestInsert/Streams#01: streams_test.go:493: want one record, got: 0
--- FAIL: TestInsert (0.00s)
--- FAIL: TestInsert/Streams (0.00s)
--- FAIL: TestInsert/Events (0.00s)
--- FAIL: TestInsert/Events#01 (0.00s)
--- FAIL: TestInsert/Streams#01 (0.00s)
=== RUN TestToOne
=== RUN TestToOne/EventToStreamUsingStream
INSERT INTO "streams" () VALUES ()
[]
TestToOne/EventToStreamUsingStream: events_test.go:514: models: unable to insert into streams: near ")": syntax error
--- FAIL: TestToOne (0.00s)
--- FAIL: TestToOne/EventToStreamUsingStream (0.00s)
=== RUN TestOneToOne
--- PASS: TestOneToOne (0.00s)
=== RUN TestToMany
=== RUN TestToMany/StreamToEvents
INSERT INTO "streams" () VALUES ()
[]
TestToMany/StreamToEvents: streams_test.go:512: models: unable to insert into streams: near ")": syntax error
--- FAIL: TestToMany (0.00s)
--- FAIL: TestToMany/StreamToEvents (0.00s)
=== RUN TestToOneSet
=== RUN TestToOneSet/EventToStreamUsingEvents
INSERT INTO "events" ("title","description","archived","stream_id") VALUES (?,?,?,?)
[n o true 1591678657]
SELECT "id" FROM "events" WHERE "id"=?
{0 false}
TestToOneSet/EventToStreamUsingEvents: events_test.go:570: models: unable to populate default values for events: sql: no rows in result set
--- FAIL: TestToOneSet (0.00s)
--- FAIL: TestToOneSet/EventToStreamUsingEvents (0.00s)
=== RUN TestToOneRemove
--- PASS: TestToOneRemove (0.00s)
=== RUN TestOneToOneSet
--- PASS: TestOneToOneSet (0.00s)
=== RUN TestOneToOneRemove
--- PASS: TestOneToOneRemove (0.00s)
=== RUN TestToManyAdd
=== RUN TestToManyAdd/StreamToEvents
INSERT INTO "streams" ("title","description","archived") VALUES (?,?,?)
[n {o true} {true true}]
SELECT "id" FROM "streams" WHERE "id"=?
{0 false}
TestToManyAdd/StreamToEvents: streams_test.go:596: models: unable to populate default values for streams: sql: no rows in result set
--- FAIL: TestToManyAdd (0.00s)
--- FAIL: TestToManyAdd/StreamToEvents (0.00s)
=== RUN TestToManySet
--- PASS: TestToManySet (0.00s)
=== RUN TestToManyRemove
--- PASS: TestToManyRemove (0.00s)
=== RUN TestReload
=== RUN TestReload/Events
=== PAUSE TestReload/Events
=== RUN TestReload/Streams
=== PAUSE TestReload/Streams
=== CONT TestReload/Events
=== CONT TestReload/Streams
INSERT INTO "streams" () VALUES ()
[]
INSERT INTO "events" () VALUES ()
[]
TestReload/Streams: streams_test.go:664: models: unable to insert into streams: near ")": syntax error
select * from "streams" where "id"=?
TestReload/Events: events_test.go:620: models: unable to insert into events: near ")": syntax error
select * from "events" where "id"=?
[{0 false}]
[{0 false}]
TestReload/Streams: streams_test.go:668: sql: no rows in result set
TestReload/Events: events_test.go:624: sql: no rows in result set
--- FAIL: TestReload (0.00s)
--- FAIL: TestReload/Events (0.00s)
--- FAIL: TestReload/Streams (0.00s)
=== RUN TestReloadAll
=== RUN TestReloadAll/Events
=== PAUSE TestReloadAll/Events
=== RUN TestReloadAll/Streams
=== PAUSE TestReloadAll/Streams
=== CONT TestReloadAll/Events
INSERT INTO "events" () VALUES ()
[]
=== CONT TestReloadAll/Streams
TestReloadAll/Events: events_test.go:642: models: unable to insert into events: near ")": syntax error
SELECT "events".* FROM "events" WHERE ("id"=?)
[{0 false}]
INSERT INTO "streams" () VALUES ()
[]
TestReloadAll/Streams: streams_test.go:686: models: unable to insert into streams: near ")": syntax error
SELECT "streams".* FROM "streams" WHERE ("id"=?)
[{0 false}]
--- FAIL: TestReloadAll (0.00s)
--- FAIL: TestReloadAll/Events (0.00s)
--- FAIL: TestReloadAll/Streams (0.00s)
=== RUN TestSelect
=== RUN TestSelect/Events
=== PAUSE TestSelect/Events
=== RUN TestSelect/Streams
=== PAUSE TestSelect/Streams
=== CONT TestSelect/Events
=== CONT TestSelect/Streams
INSERT INTO "events" () VALUES ()
[]
INSERT INTO "streams" () VALUES ()
[]
TestSelect/Events: events_test.go:666: models: unable to insert into events: near ")": syntax error
SELECT * FROM "events";
[]
TestSelect/Streams: streams_test.go:710: models: unable to insert into streams: near ")": syntax error
SELECT * FROM "streams";
[]
TestSelect/Events: events_test.go:675: want one record, got: 0
TestSelect/Streams: streams_test.go:719: want one record, got: 0
--- FAIL: TestSelect (0.00s)
--- FAIL: TestSelect/Events (0.00s)
--- FAIL: TestSelect/Streams (0.00s)
=== RUN TestUpdate
=== RUN TestUpdate/Events
=== PAUSE TestUpdate/Events
=== RUN TestUpdate/Streams
=== PAUSE TestUpdate/Streams
=== CONT TestUpdate/Events
=== CONT TestUpdate/Streams
INSERT INTO "events" () VALUES ()
[]
INSERT INTO "streams" () VALUES ()
[]
TestUpdate/Streams: streams_test.go:749: models: unable to insert into streams: near ")": syntax error
TestUpdate/Events: events_test.go:705: models: unable to insert into events: near ")": syntax error
SELECT COUNT(*) FROM "streams";
[]
SELECT COUNT(*) FROM "events";
[]
TestUpdate/Streams: streams_test.go:758: want one record, got: 0
TestUpdate/Events: events_test.go:714: want one record, got: 0
UPDATE "streams" SET "title"=?,"description"=?,"archived"=? WHERE "id"=?
UPDATE "events" SET "title"=?,"description"=?,"archived"=?,"stream_id"=? WHERE "id"=?
[o {q true} {false false} {0 false}]
[o q false 1591678661 {0 false}]
TestUpdate/Streams: streams_test.go:768: should only affect one row but affected 0
TestUpdate/Events: events_test.go:722: models: unable to update events row: database is locked
--- FAIL: TestUpdate (0.00s)
--- FAIL: TestUpdate/Streams (0.00s)
--- FAIL: TestUpdate/Events (0.00s)
=== RUN TestSliceUpdateAll
=== RUN TestSliceUpdateAll/Events
=== PAUSE TestSliceUpdateAll/Events
=== RUN TestSliceUpdateAll/Streams
=== PAUSE TestSliceUpdateAll/Streams
=== CONT TestSliceUpdateAll/Events
=== CONT TestSliceUpdateAll/Streams
INSERT INTO "events" () VALUES ()
[]
INSERT INTO "streams" () VALUES ()
TestSliceUpdateAll/Events: events_test.go:746: models: unable to insert into events: near ")": syntax error
SELECT COUNT(*) FROM "events";
[]
[]
TestSliceUpdateAll/Streams: streams_test.go:790: models: unable to insert into streams: near ")": syntax error
SELECT COUNT(*) FROM "streams";
[]
TestSliceUpdateAll/Events: events_test.go:755: want one record, got: 0
UPDATE "events" SET "title"=?,"description"=?,"archived"=?,"stream_id"=? WHERE ("id"=?)
o q false 1591678661 {0 false}
TestSliceUpdateAll/Streams: streams_test.go:799: want one record, got: 0
TestSliceUpdateAll/Events: events_test.go:791: wanted one record updated but got 0
UPDATE "streams" SET "description"=?,"archived"=?,"title"=? WHERE ("id"=?)
{q true} {false false} o {0 false}
TestSliceUpdateAll/Streams: streams_test.go:835: wanted one record updated but got 0
--- FAIL: TestSliceUpdateAll (0.00s)
--- FAIL: TestSliceUpdateAll/Events (0.00s)
--- FAIL: TestSliceUpdateAll/Streams (0.00s)
FAIL
FAIL github.com/the-maldridge/nemo/pkg/models 0.096s
FAIL
Great, well INSERT INTO "events" () VALUES ()
is clearly incorrect.
The beautiful part about generated code is you can look at what it's doing and put log statements in it, etc. Or push your dev branch up into your repo so that other people can.
Sure, I can push my branches. Is it customary to commit the generated sqlboiler code? Or is it recommended to use a generate expression to get it just prior to compilation?
I pushed everything on a branch, here are the models that generated the above test results: https://github.com/the-maldridge/nemo/tree/events/pkg/models
Is it customary to commit the generated sqlboiler code? Or is it recommended to use a generate expression to get it just prior to compilation?
In Go, it's customary to commit generated code. This will make it compatible with go get
for example.
Looks like boil.Infer()
is thinking there is no data in your struct, you can see what it's doing here.
You can see that the logic for what to insert is, what columns don't have a default in the db plus what fields in the struct are non-zero? It's coming up empty-handed.
Looking at the tests, just before the Insert there's a randomize.Struct(...)
call. I can't look further right now, but that's where I would investigate. Maybe log the event struct before it goes into Insert(...)
.
@the-maldridge It looks like the configuration for the sqlite3 driver is incorrect.
Inside the template it says this:
{{if .Dialect.UseDefaultKeyword -}}
cache.query = "INSERT INTO {{$schemaTable}} %sDEFAULT VALUES%s"
{{else -}}
cache.query = "INSERT INTO {{$schemaTable}} () VALUES ()%s%s"
{{end -}}
Is there a specific way that sqlite3 would like us to generate empty inserts?
I believe that it should just be DEFAULT VALUES
, though I am far from a SQL Expert. I tend to rely on utility libraries to handle the query composition.
Based on this: https://sqlite.org/syntax/insert-stmt.html
I believe that's correct. I've released a fix to the sqlboiler-sqlite3 project. You can try the commit: a93887c
Seems closer, but not quite there. The tests now fail as follows:
$ go test -v ./pkg/models/ -test.sqldebug
=== RUN TestParent
=== RUN TestParent/Events
=== PAUSE TestParent/Events
=== RUN TestParent/Streams
=== PAUSE TestParent/Streams
=== CONT TestParent/Events
=== CONT TestParent/Streams
--- PASS: TestParent (0.00s)
--- PASS: TestParent/Events (0.00s)
--- PASS: TestParent/Streams (0.00s)
=== RUN TestDelete
=== RUN TestDelete/Events
=== PAUSE TestDelete/Events
=== RUN TestDelete/Streams
=== PAUSE TestDelete/Streams
=== CONT TestDelete/Events
=== CONT TestDelete/Streams
INSERT INTO "streams" DEFAULT VALUES
[]
INSERT INTO "events" DEFAULT VALUES
[]
TestDelete/Streams: streams_test.go:48: models: unable to insert into streams: NOT NULL constraint failed: streams.title
DELETE FROM "streams" WHERE "id"=?
{0 false}
TestDelete/Streams: streams_test.go:54: should only have deleted one row, but affected: 0
SELECT COUNT(*) FROM "streams";
[]
TestDelete/Events: events_test.go:48: models: unable to insert into events: NOT NULL constraint failed: events.title
DELETE FROM "events" WHERE "id"=?
{0 false}
TestDelete/Events: events_test.go:54: should only have deleted one row, but affected: 0
SELECT COUNT(*) FROM "events";
[]
--- FAIL: TestDelete (0.00s)
--- FAIL: TestDelete/Streams (0.00s)
--- FAIL: TestDelete/Events (0.00s)
=== RUN TestQueryDeleteAll
=== RUN TestQueryDeleteAll/Events
=== PAUSE TestQueryDeleteAll/Events
=== RUN TestQueryDeleteAll/Streams
=== PAUSE TestQueryDeleteAll/Streams
=== CONT TestQueryDeleteAll/Events
=== CONT TestQueryDeleteAll/Streams
INSERT INTO "events" DEFAULT VALUES
[]
INSERT INTO "streams" DEFAULT VALUES
[]
TestQueryDeleteAll/Streams: streams_test.go:81: models: unable to insert into streams: NOT NULL constraint failed: streams.title
DELETE FROM "streams";
[]
TestQueryDeleteAll/Streams: streams_test.go:87: should only have deleted one row, but affected: 0
SELECT COUNT(*) FROM "streams";
[]
TestQueryDeleteAll/Events: events_test.go:81: models: unable to insert into events: NOT NULL constraint failed: events.title
DELETE FROM "events";
[]
TestQueryDeleteAll/Events: events_test.go:87: should only have deleted one row, but affected: 0
SELECT COUNT(*) FROM "events";
[]
--- FAIL: TestQueryDeleteAll (0.00s)
--- FAIL: TestQueryDeleteAll/Streams (0.00s)
--- FAIL: TestQueryDeleteAll/Events (0.00s)
=== RUN TestSliceDeleteAll
=== RUN TestSliceDeleteAll/Events
=== PAUSE TestSliceDeleteAll/Events
=== RUN TestSliceDeleteAll/Streams
=== PAUSE TestSliceDeleteAll/Streams
=== CONT TestSliceDeleteAll/Events
INSERT INTO "events" DEFAULT VALUES
[]
=== CONT TestSliceDeleteAll/Streams
TestSliceDeleteAll/Events: events_test.go:114: models: unable to insert into events: NOT NULL constraint failed: events.title
INSERT INTO "streams" DEFAULT VALUES
[]
DELETE FROM "events" WHERE ("id"=?)
[{0 false}]
TestSliceDeleteAll/Events: events_test.go:122: should only have deleted one row, but affected: 0
SELECT COUNT(*) FROM "events";
[]
TestSliceDeleteAll/Streams: streams_test.go:114: models: unable to insert into streams: NOT NULL constraint failed: streams.title
DELETE FROM "streams" WHERE ("id"=?)
[{0 false}]
TestSliceDeleteAll/Streams: streams_test.go:122: should only have deleted one row, but affected: 0
SELECT COUNT(*) FROM "streams";
[]
--- FAIL: TestSliceDeleteAll (0.00s)
--- FAIL: TestSliceDeleteAll/Events (0.00s)
--- FAIL: TestSliceDeleteAll/Streams (0.00s)
=== RUN TestExists
=== RUN TestExists/Events
=== PAUSE TestExists/Events
=== RUN TestExists/Streams
=== PAUSE TestExists/Streams
=== CONT TestExists/Events
INSERT INTO "events" DEFAULT VALUES
[]
=== CONT TestExists/Streams
TestExists/Events: events_test.go:149: models: unable to insert into events: NOT NULL constraint failed: events.title
select exists(select 1 from "events" where "id"=? limit 1)
{0 false}
INSERT INTO "streams" DEFAULT VALUES
[]
TestExists/Events: events_test.go:157: Expected EventExists to return true, but got false.
TestExists/Streams: streams_test.go:149: models: unable to insert into streams: NOT NULL constraint failed: streams.title
select exists(select 1 from "streams" where "id"=? limit 1)
{0 false}
TestExists/Streams: streams_test.go:157: Expected StreamExists to return true, but got false.
--- FAIL: TestExists (0.00s)
--- FAIL: TestExists/Events (0.00s)
--- FAIL: TestExists/Streams (0.00s)
=== RUN TestFind
=== RUN TestFind/Events
=== PAUSE TestFind/Events
=== RUN TestFind/Streams
=== PAUSE TestFind/Streams
=== CONT TestFind/Events
=== CONT TestFind/Streams
INSERT INTO "events" DEFAULT VALUES
[]
INSERT INTO "streams" DEFAULT VALUES
[]
TestFind/Events: events_test.go:175: models: unable to insert into events: NOT NULL constraint failed: events.title
select * from "events" where "id"=?
[{0 false}]
TestFind/Events: events_test.go:180: sql: no rows in result set
TestFind/Events: events_test.go:184: want a record, got nil
TestFind/Streams: streams_test.go:175: models: unable to insert into streams: NOT NULL constraint failed: streams.title
select * from "streams" where "id"=?
[{0 false}]
TestFind/Streams: streams_test.go:180: sql: no rows in result set
TestFind/Streams: streams_test.go:184: want a record, got nil
--- FAIL: TestFind (0.00s)
--- FAIL: TestFind/Events (0.00s)
--- FAIL: TestFind/Streams (0.00s)
=== RUN TestBind
=== RUN TestBind/Events
=== PAUSE TestBind/Events
=== RUN TestBind/Streams
=== PAUSE TestBind/Streams
=== CONT TestBind/Events
=== CONT TestBind/Streams
INSERT INTO "events" DEFAULT VALUES
[]
INSERT INTO "streams" DEFAULT VALUES
[]
TestBind/Events: events_test.go:202: models: unable to insert into events: NOT NULL constraint failed: events.title
SELECT * FROM "events";
[]
TestBind/Events: events_test.go:206: sql: no rows in result set
TestBind/Streams: streams_test.go:202: models: unable to insert into streams: NOT NULL constraint failed: streams.title
SELECT * FROM "streams";
[]
TestBind/Streams: streams_test.go:206: sql: no rows in result set
--- FAIL: TestBind (0.00s)
--- FAIL: TestBind/Events (0.00s)
--- FAIL: TestBind/Streams (0.00s)
=== RUN TestOne
=== RUN TestOne/Events
=== PAUSE TestOne/Events
=== RUN TestOne/Streams
=== PAUSE TestOne/Streams
=== CONT TestOne/Events
=== CONT TestOne/Streams
INSERT INTO "events" DEFAULT VALUES
[]
TestOne/Events: events_test.go:224: models: unable to insert into events: NOT NULL constraint failed: events.title
SELECT * FROM "events" LIMIT 1;
[]
INSERT INTO "streams" DEFAULT VALUES
[]
TestOne/Events: events_test.go:228: sql: no rows in result set
TestOne/Streams: streams_test.go:224: models: unable to insert into streams: NOT NULL constraint failed: streams.title
SELECT * FROM "streams" LIMIT 1;
[]
TestOne/Streams: streams_test.go:228: sql: no rows in result set
--- FAIL: TestOne (0.00s)
--- FAIL: TestOne/Events (0.00s)
--- FAIL: TestOne/Streams (0.00s)
=== RUN TestAll
=== RUN TestAll/Events
=== PAUSE TestAll/Events
=== RUN TestAll/Streams
=== PAUSE TestAll/Streams
=== CONT TestAll/Events
=== CONT TestAll/Streams
INSERT INTO "events" DEFAULT VALUES
[]
INSERT INTO "streams" DEFAULT VALUES
[]
TestAll/Streams: streams_test.go:252: models: unable to insert into streams: NOT NULL constraint failed: streams.title
INSERT INTO "streams" DEFAULT VALUES
[]
TestAll/Streams: streams_test.go:255: models: unable to insert into streams: NOT NULL constraint failed: streams.title
SELECT * FROM "streams";
[]
TestAll/Streams: streams_test.go:264: want 2 records, got: 0
TestAll/Events: events_test.go:252: models: unable to insert into events: NOT NULL constraint failed: events.title
INSERT INTO "events" DEFAULT VALUES
[]
TestAll/Events: events_test.go:255: models: unable to insert into events: NOT NULL constraint failed: events.title
SELECT * FROM "events";
[]
TestAll/Events: events_test.go:264: want 2 records, got: 0
--- FAIL: TestAll (0.00s)
--- FAIL: TestAll/Streams (0.00s)
--- FAIL: TestAll/Events (0.00s)
=== RUN TestCount
=== RUN TestCount/Events
=== PAUSE TestCount/Events
=== RUN TestCount/Streams
=== PAUSE TestCount/Streams
=== CONT TestCount/Events
=== CONT TestCount/Streams
INSERT INTO "events" DEFAULT VALUES
[]
INSERT INTO "streams" DEFAULT VALUES
[]
TestCount/Events: events_test.go:286: models: unable to insert into events: NOT NULL constraint failed: events.title
INSERT INTO "events" DEFAULT VALUES
[]
TestCount/Events: events_test.go:289: models: unable to insert into events: NOT NULL constraint failed: events.title
SELECT COUNT(*) FROM "events";
[]
TestCount/Events: events_test.go:298: want 2 records, got: 0
TestCount/Streams: streams_test.go:286: models: unable to insert into streams: NOT NULL constraint failed: streams.title
INSERT INTO "streams" DEFAULT VALUES
[]
TestCount/Streams: streams_test.go:289: models: unable to insert into streams: NOT NULL constraint failed: streams.title
SELECT COUNT(*) FROM "streams";
[]
TestCount/Streams: streams_test.go:298: want 2 records, got: 0
--- FAIL: TestCount (0.00s)
--- FAIL: TestCount/Events (0.00s)
--- FAIL: TestCount/Streams (0.00s)
=== RUN TestHooks
=== RUN TestHooks/Events
=== PAUSE TestHooks/Events
=== RUN TestHooks/Streams
=== PAUSE TestHooks/Streams
=== CONT TestHooks/Events
=== CONT TestHooks/Streams
--- PASS: TestHooks (0.00s)
--- PASS: TestHooks/Events (0.00s)
--- PASS: TestHooks/Streams (0.00s)
=== RUN TestInsert
=== RUN TestInsert/Events
=== PAUSE TestInsert/Events
=== RUN TestInsert/Events#01
=== PAUSE TestInsert/Events#01
=== RUN TestInsert/Streams
=== PAUSE TestInsert/Streams
=== RUN TestInsert/Streams#01
=== PAUSE TestInsert/Streams#01
=== CONT TestInsert/Events
INSERT INTO "events" DEFAULT VALUES
[]
TestInsert/Events: events_test.go:457: models: unable to insert into events: NOT NULL constraint failed: events.title
SELECT COUNT(*) FROM "events";
[]
TestInsert/Events: events_test.go:466: want one record, got: 0
=== CONT TestInsert/Streams#01
INSERT INTO "streams" DEFAULT VALUES
[]
=== CONT TestInsert/Events#01
=== CONT TestInsert/Streams
INSERT INTO "events" DEFAULT VALUES
[]
TestInsert/Events#01: events_test.go:484: models: unable to insert into events: NOT NULL constraint failed: events.title
SELECT COUNT(*) FROM "events";
[]
TestInsert/Events#01: events_test.go:493: want one record, got: 0
TestInsert/Streams#01: streams_test.go:484: models: unable to insert into streams: NOT NULL constraint failed: streams.title
SELECT COUNT(*) FROM "streams";
[]
TestInsert/Streams#01: streams_test.go:493: want one record, got: 0
INSERT INTO "streams" DEFAULT VALUES
[]
TestInsert/Streams: streams_test.go:457: models: unable to insert into streams: NOT NULL constraint failed: streams.title
SELECT COUNT(*) FROM "streams";
[]
TestInsert/Streams: streams_test.go:466: want one record, got: 0
--- FAIL: TestInsert (0.00s)
--- FAIL: TestInsert/Events (0.00s)
--- FAIL: TestInsert/Events#01 (0.00s)
--- FAIL: TestInsert/Streams#01 (0.00s)
--- FAIL: TestInsert/Streams (0.00s)
=== RUN TestToOne
=== RUN TestToOne/EventToStreamUsingStream
INSERT INTO "streams" DEFAULT VALUES
[]
TestToOne/EventToStreamUsingStream: events_test.go:514: models: unable to insert into streams: NOT NULL constraint failed: streams.title
--- FAIL: TestToOne (0.00s)
--- FAIL: TestToOne/EventToStreamUsingStream (0.00s)
=== RUN TestOneToOne
--- PASS: TestOneToOne (0.00s)
=== RUN TestToMany
=== RUN TestToMany/StreamToEvents
INSERT INTO "streams" DEFAULT VALUES
[]
TestToMany/StreamToEvents: streams_test.go:512: models: unable to insert into streams: NOT NULL constraint failed: streams.title
--- FAIL: TestToMany (0.00s)
--- FAIL: TestToMany/StreamToEvents (0.00s)
=== RUN TestToOneSet
=== RUN TestToOneSet/EventToStreamUsingEvents
INSERT INTO "events" ("title","description","archived","stream_id") VALUES (?,?,?,?)
[N O true 1592630321]
SELECT "id" FROM "events" WHERE "id"=?
{0 false}
TestToOneSet/EventToStreamUsingEvents: events_test.go:570: models: unable to populate default values for events: sql: no rows in result set
--- FAIL: TestToOneSet (0.00s)
--- FAIL: TestToOneSet/EventToStreamUsingEvents (0.00s)
=== RUN TestToOneRemove
--- PASS: TestToOneRemove (0.00s)
=== RUN TestOneToOneSet
--- PASS: TestOneToOneSet (0.00s)
=== RUN TestOneToOneRemove
--- PASS: TestOneToOneRemove (0.00s)
=== RUN TestToManyAdd
=== RUN TestToManyAdd/StreamToEvents
INSERT INTO "streams" ("title","description","archived") VALUES (?,?,?)
[N {O true} {true true}]
SELECT "id" FROM "streams" WHERE "id"=?
{0 false}
TestToManyAdd/StreamToEvents: streams_test.go:596: models: unable to populate default values for streams: sql: no rows in result set
--- FAIL: TestToManyAdd (0.00s)
--- FAIL: TestToManyAdd/StreamToEvents (0.00s)
=== RUN TestToManySet
--- PASS: TestToManySet (0.00s)
=== RUN TestToManyRemove
--- PASS: TestToManyRemove (0.00s)
=== RUN TestReload
=== RUN TestReload/Events
=== PAUSE TestReload/Events
=== RUN TestReload/Streams
=== PAUSE TestReload/Streams
=== CONT TestReload/Events
=== CONT TestReload/Streams
INSERT INTO "events" DEFAULT VALUES
[]
INSERT INTO "streams" DEFAULT VALUES
[]
TestReload/Events: events_test.go:620: models: unable to insert into events: NOT NULL constraint failed: events.title
select * from "events" where "id"=?
[{0 false}]
TestReload/Events: events_test.go:624: sql: no rows in result set
TestReload/Streams: streams_test.go:664: models: unable to insert into streams: NOT NULL constraint failed: streams.title
select * from "streams" where "id"=?
[{0 false}]
TestReload/Streams: streams_test.go:668: sql: no rows in result set
--- FAIL: TestReload (0.00s)
--- FAIL: TestReload/Events (0.00s)
--- FAIL: TestReload/Streams (0.00s)
=== RUN TestReloadAll
=== RUN TestReloadAll/Events
=== PAUSE TestReloadAll/Events
=== RUN TestReloadAll/Streams
=== PAUSE TestReloadAll/Streams
=== CONT TestReloadAll/Events
=== CONT TestReloadAll/Streams
INSERT INTO "events" DEFAULT VALUES
[]
INSERT INTO "streams" DEFAULT VALUES
[]
TestReloadAll/Events: events_test.go:642: models: unable to insert into events: NOT NULL constraint failed: events.title
SELECT "events".* FROM "events" WHERE ("id"=?)
[{0 false}]
TestReloadAll/Streams: streams_test.go:686: models: unable to insert into streams: NOT NULL constraint failed: streams.title
SELECT "streams".* FROM "streams" WHERE ("id"=?)
[{0 false}]
--- FAIL: TestReloadAll (0.00s)
--- FAIL: TestReloadAll/Events (0.00s)
--- FAIL: TestReloadAll/Streams (0.00s)
=== RUN TestSelect
=== RUN TestSelect/Events
=== PAUSE TestSelect/Events
=== RUN TestSelect/Streams
=== PAUSE TestSelect/Streams
=== CONT TestSelect/Events
INSERT INTO "events" DEFAULT VALUES
[]
=== CONT TestSelect/Streams
TestSelect/Events: events_test.go:666: models: unable to insert into events: NOT NULL constraint failed: events.title
INSERT INTO "streams" DEFAULT VALUES
[]
SELECT * FROM "events";
[]
TestSelect/Events: events_test.go:675: want one record, got: 0
TestSelect/Streams: streams_test.go:710: models: unable to insert into streams: NOT NULL constraint failed: streams.title
SELECT * FROM "streams";
[]
TestSelect/Streams: streams_test.go:719: want one record, got: 0
--- FAIL: TestSelect (0.00s)
--- FAIL: TestSelect/Events (0.00s)
--- FAIL: TestSelect/Streams (0.00s)
=== RUN TestUpdate
=== RUN TestUpdate/Events
=== PAUSE TestUpdate/Events
=== RUN TestUpdate/Streams
=== PAUSE TestUpdate/Streams
=== CONT TestUpdate/Events
=== CONT TestUpdate/Streams
INSERT INTO "events" DEFAULT VALUES
[]
INSERT INTO "streams" DEFAULT VALUES
[]
TestUpdate/Streams: streams_test.go:749: models: unable to insert into streams: NOT NULL constraint failed: streams.title
SELECT COUNT(*) FROM "streams";
[]
TestUpdate/Streams: streams_test.go:758: want one record, got: 0
UPDATE "streams" SET "title"=?,"description"=?,"archived"=? WHERE "id"=?
[ {P true} {false false} {0 false}]
TestUpdate/Streams: streams_test.go:768: should only affect one row but affected 0
TestUpdate/Events: events_test.go:705: models: unable to insert into events: NOT NULL constraint failed: events.title
SELECT COUNT(*) FROM "events";
[]
TestUpdate/Events: events_test.go:714: want one record, got: 0
UPDATE "events" SET "title"=?,"description"=?,"archived"=?,"stream_id"=? WHERE "id"=?
[ P false 1592630324 {0 false}]
TestUpdate/Events: events_test.go:724: should only affect one row but affected 0
--- FAIL: TestUpdate (0.00s)
--- FAIL: TestUpdate/Streams (0.00s)
--- FAIL: TestUpdate/Events (0.00s)
=== RUN TestSliceUpdateAll
=== RUN TestSliceUpdateAll/Events
=== PAUSE TestSliceUpdateAll/Events
=== RUN TestSliceUpdateAll/Streams
=== PAUSE TestSliceUpdateAll/Streams
=== CONT TestSliceUpdateAll/Events
=== CONT TestSliceUpdateAll/Streams
INSERT INTO "events" DEFAULT VALUES
[]
TestSliceUpdateAll/Events: events_test.go:746: models: unable to insert into events: NOT NULL constraint failed: events.title
SELECT COUNT(*) FROM "events";
[]
INSERT INTO "streams" DEFAULT VALUES
[]
TestSliceUpdateAll/Events: events_test.go:755: want one record, got: 0
UPDATE "events" SET "title"=?,"description"=?,"archived"=?,"stream_id"=? WHERE ("id"=?)
P false 1592630324 {0 false}
TestSliceUpdateAll/Events: events_test.go:791: wanted one record updated but got 0
TestSliceUpdateAll/Streams: streams_test.go:790: models: unable to insert into streams: NOT NULL constraint failed: streams.title
SELECT COUNT(*) FROM "streams";
[]
TestSliceUpdateAll/Streams: streams_test.go:799: want one record, got: 0
UPDATE "streams" SET "title"=?,"description"=?,"archived"=? WHERE ("id"=?)
{P true} {false false} {0 false}
TestSliceUpdateAll/Streams: streams_test.go:835: wanted one record updated but got 0
--- FAIL: TestSliceUpdateAll (0.00s)
--- FAIL: TestSliceUpdateAll/Events (0.00s)
--- FAIL: TestSliceUpdateAll/Streams (0.00s)
FAIL
FAIL github.com/the-maldridge/nemo/pkg/models 0.035s
FAIL
Hi @the-maldridge it seems like the issue is that sqlboiler believes there's a default value accompanying all of your fields. I was unable to reproduce your issue using your schema with the following configuration:
Go software: sqlboiler: 4.1.2 sqlboiler-sqlite3: a93887c09a14c34ea2c793728c5f914958efbcc6 github.com/mattn/go-sqlite3: v1.14.0
System software: sqlite3: 3.22.0 2018-01-22 18:45:57 0c55d179733b46
The problem could be one of two things:
- You have changed your schema and forgot to regenerate the models (
sqlboiler --wipe sqlite3
) - The generation of the models is failing to see that these are columns WITHOUT default values and that it must insert data for them. In order to see if that's the case, you need to run
sqlboiler --debug sqlite3