Commit graph

101 commits

Author SHA1 Message Date
Aaron L
92c4e7f8f3 Support many_to_many eager loading properly
- Reorder the where statement in to_many to match eager loading.
2016-08-17 23:09:54 -07:00
Aaron L
fb198cc92c Looking like to_many eager load is done
- Fix to_many join table query
- Fix testing output
- Add debug logging
2016-08-16 22:14:07 -07:00
Aaron L
756281f9fb WIP Debugging eager loading 2016-08-16 22:14:07 -07:00
Aaron L
932f14d26c Fix up some bits in eager load to_many 2016-08-16 22:14:07 -07:00
Aaron L
eae23ae42b Add eager loading for to_many
- Needs tests
2016-08-16 22:14:07 -07:00
Aaron L
d25712f929 Change entire project tests. 2016-08-14 01:58:36 -07:00
Aaron L
180fbb0b8c Remove swaths of metadata for tables in templates 2016-08-13 23:50:40 -07:00
Aaron L
f40688cfe3 Refactor Update & Insert tests.
- Added additional checking to statements for drivers that support a
  number of results affected.
- Changed the way we keep imports around for compare values
2016-08-13 23:38:41 -07:00
Aaron L
efa1fbb80a Big refactor of generated code
- Stop generating helper functions for each model
- Move Insert/Update/Upsert query generation helpers to strmangle
- Add tests for query generation helpers
- Delete a lot of the Insert/Upsert tests that test the query generation
  helpers.
- Use tx for more of the tests.
2016-08-13 21:21:26 -07:00
Aaron L
8a7a9a35e8 Fix the last bits of problems with auto inc pkey 2016-08-13 16:34:02 -07:00
Aaron L
944303f2f5 Properly abstract LastInsertID 2016-08-13 16:34:02 -07:00
Aaron L
ef03225024 Add primary key column gen 2016-08-13 16:34:02 -07:00
Aaron L
ab88d8511d Move string set operations to strmangle
- Delete MakeDBName (unused)
- Rename HasElement to SetInclude
2016-08-13 16:34:02 -07:00
Patrick O'brien
160c6ff0f0 Begin the pain 2016-08-13 16:34:02 -07:00
Aaron L
1875bac7cf Correct improper detection of one-to-one 2016-08-13 15:33:54 -07:00
Patrick O'brien
641a433a2d Fix query in insert 2016-08-14 06:35:43 +10:00
Patrick O'brien
3fb6c1aa48 Convert Delete object to use Exec 2016-08-14 05:07:38 +10:00
Aaron L
2b4508b228 Pass through sql.ErrNoRows for .Find() too 2016-08-13 11:56:59 -07:00
Aaron L
956157d057 Pass through no-rows errors to the user for .One() 2016-08-13 11:42:28 -07:00
Aaron L
1ac3853d3c Refactor some awkward looking bits 2016-08-13 11:39:03 -07:00
Aaron L
5360d3094e Use errors package all over the project
In general:
errors.New("thing") -> errors.New
fmt.Errorf("thing %s", arg) -> errors.Errorf
fmt.Errorf("thing %v", err) -> errors.Wrap
fmt.Errorf("thing %s %v", arg, err) -> errors.Wrapf
2016-08-13 11:37:16 -07:00
Patrick O'brien
8831e8a4b9 Fix debug outputs for all templates 2016-08-14 02:58:18 +10:00
Patrick O'brien
7ae9af702f Add debug output to Exists 2016-08-14 02:19:36 +10:00
Patrick O'brien
6c299c82cb Fix formatting errors 2016-08-14 02:16:10 +10:00
Patrick O'brien
ae198fd759 Fix formatting 2016-08-14 02:07:28 +10:00
Patrick O'brien
d92a439c54 Modify postgres query to get is_unique for indexes
* Remove unused SnakeCase function
* Fix formatting bug in relationship structs
2016-08-13 17:30:55 +10:00
Patrick O'brien
18029166c0 Add FilterColumnsByUnique, finish UpdateAll slice
* Add FilterColumnsByUnique
* Fix lots of broken tests
* Made CompareVals less stupid

Note: UpdateAll tests still broken because Unique
is not being fetched correctly for INDEX types,
it is only working for UNIQUE constraints.
2016-08-11 22:26:49 +10:00
Patrick O'brien
e3f319346f Finish UpdateAll query builder
* Add modifiers to delete builder
* Update golden file tests
* Add startAt to whereClause
2016-08-11 18:23:47 +10:00
Patrick O'brien
99b292b1ee Update query builder to make queries readable
* Finish DeleteAll for slice and query
* Fixed some formatting and comments
2016-08-09 20:19:42 +10:00
Patrick O'brien
2ece7d14f6 Clean up helpers, remove duplicate funcs
* Refactor DeleteAll for slice
2016-08-09 15:57:54 +10:00
Aaron L
8e3c1d41da GenerateParamFlags -> Placeholders
- Rewrite Placeholders to not use as much wizardry and magnetism
2016-08-08 20:19:26 -07:00
Aaron L
a98e474c9c Refactor WhereMultiple into new WhereClause 2016-08-08 19:33:10 -07:00
Aaron L
db747cccfe Fix fallout of whereclause change 2016-08-08 17:36:37 -07:00
Aaron L
7c65598f17 Fix spacing problem. 2016-08-08 17:36:37 -07:00
Patrick O'brien
b9fc5e4080 Fix ReloadAll 0 value primary key collisions 2016-08-09 10:34:21 +10:00
Patrick O'brien
fa8e431349 Add ReloadAll for ObjectSlice
* Fix RandomizeSlice bug overwriting blacklisted columns
* Add GroupAt param to param flags generator
2016-08-08 23:30:29 +10:00
Patrick O'brien
a073752df2 Remove duplicates from insert whitelist 2016-08-08 16:59:54 +10:00
Aaron L
1c7ad18ab1 Fix previous edit mistake 2016-08-07 23:37:05 -07:00
Aaron L
44cf647d05 Rewrite Find using normal sql 2016-08-07 23:36:11 -07:00
Aaron L
444153222b Use the new bind in all templates 2016-08-07 23:07:15 -07:00
Aaron L
1236072f05 Fix struct tags for bind 2016-08-07 18:07:37 -07:00
Aaron L
307fe4919a Add parsing routine for SQL from/join statements
- Bonus: Add yaml/toml struct tags for models
2016-08-05 23:51:13 -07:00
Aaron L
2d608c4e17 Correct the problems with to_one 2016-08-05 22:19:49 -07:00
Patrick O'brien
b1b0607123 Fix template errors 2016-08-05 15:04:00 +10:00
Patrick O'brien
feb85a2a44 Finish upsert and upsert tests
* Fix find bug in query generator
2016-08-05 12:59:40 +10:00
Patrick O'brien
8a3a08baa0 Finish upsert, most of upsert tests
* Fix Upsert hooks
* Rename singleton template files
2016-08-05 00:26:39 +10:00
Patrick O'brien
70b2dcfbb2 Boilerplate for upsert 2016-08-05 00:25:35 +10:00
Patrick O'brien
358dac851f Add upsert file and renamed file numbers 2016-08-05 00:22:53 +10:00
Aaron L
535c86bca0 Use query mods for to_many 2016-08-03 22:36:08 -07:00
Aaron L
a1b14f4eae Fix struct tag generation.
- Clean up template
2016-08-03 22:34:46 -07:00