Commit Graph

299 Commits

Author SHA1 Message Date
Tau
60d2f7cfd3 Fix working directory issues in startup batch file 2019-11-09 14:03:16 -05:00
Tau
0ac8b44ce0 idz/sql/teamMember.ts: Fix another ignored result set
That should cover all the leftover uses of forUpdate() ...
2019-11-09 14:00:24 -05:00
Tau
59fec74d08 Add Project DIVA workaround to startup script 2019-11-09 13:42:40 -05:00
Tau
52f142a2b9 Bump deps so npm audit will shut up 2019-11-08 19:46:19 -05:00
Tau
3a7132d276 Drop ts-node
Stopped using it a while ago, `tsc --watch` is more convenient.
2019-11-08 19:43:59 -05:00
Tau
4f89894fd1 chunithm: Raise POST payload size limit 2019-11-08 19:39:03 -05:00
Tau
c50a0093fd idz/sql/teamReservation.ts: Fix ignored result set
Apparently the latest SQLite driver doesn't like it if you do that.
2019-11-06 17:29:07 -05:00
Tau
1b41b82745 Tiny cosmetic change 2019-11-06 17:29:07 -05:00
Tau
d1d63e1ef9 chunithm: Initial implementation code drop
No cleaner development history than this exists. It's difficult to
methodically design something when you don't yet know what it is
you're designing.
2019-11-06 17:29:07 -05:00
Tau
beb9144e9b sql/util.ts: Add a simple SQL record mapper
sql-bricks can write queries for us, and the mapper handles type
conversions to and from SQL-friendly strings.
2019-11-06 17:29:07 -05:00
Tau
d58f4bed8f Add npm "snakeCase" dep 2019-11-06 17:29:07 -05:00
Tau
125e4d8ca7 sql/sqlite.ts: Fix NULL handling 2019-11-06 17:29:07 -05:00
Tau
b096a79f95 Simplify aime_player schema 2019-11-06 17:29:07 -05:00
Tau
04b0ccfda3 Force UTC for all internal date processing 2019-11-06 17:29:07 -05:00
Tau
82bd9ad7bb Additional assorted layering cleanups 2019-11-06 17:29:07 -05:00
Tau
6a4ac795b2 Heal the layer break around the Id<> type 2019-11-06 17:29:07 -05:00
Tau
3a71f5054c Bump to Node v12
This is the LTS version now, might as well use it.
2019-11-06 17:29:07 -05:00
Tau
650e05310d Flip-flop on debug logging code style 2019-11-06 17:29:07 -05:00
Tau
3aee0f611c sql/sqlite.ts: Make FK constraints do something
They don't by default, because they didn't in older versions of
SQLite and some older applications might rely on that. You have to
send an explicit pragma prior to opening a transaction to make them
take effect.
2019-11-06 17:29:07 -05:00
Tau
fa45169b96 Enhance vscode config files 2019-11-06 17:29:07 -05:00
Tau
07222c9ae9 Add stub README.md 2019-11-06 17:29:01 -05:00
Tau
38298a2840 Add Windows batch file to init and start the server 2019-11-06 17:28:31 -05:00
Tau
2440bedf4a Add Markdown to .editorconfig 2019-11-06 17:28:31 -05:00
Tau
9acc375d99 Tweak switchboard defaults 2019-11-06 17:28:31 -05:00
Tau
799ace06d7 Wire up schema automation 2019-11-06 17:28:31 -05:00
Tau
6d91659b24 Add automated schema management 2019-11-06 17:28:31 -05:00
Tau
151dd41e64 sql: Add db compaction method 2019-11-06 17:28:31 -05:00
Tau
13e234a68c sql: Add raw SQL interface method 2019-11-06 17:28:31 -05:00
Tau
839debca97 Bump declared TypeScript dep 2019-11-06 17:28:31 -05:00
Tau
abda3d5279 Switch to npm from Yarn
Yarn is the better package manager IMO, but npm comes with node and
using it does make the end-user installation experience a little
simpler as a result.
2019-11-06 17:28:31 -05:00
Tau
44d8c0a824 Tweak package.json lifecycle scripts 2019-11-06 17:28:31 -05:00
Tau
f348feff62 sql/sqlite.ts: Fix type check 2019-11-06 17:28:30 -05:00
Tau
6603b6aaa6 Rename database file 2019-11-06 17:28:30 -05:00
Tau
a96924c24f Abbreviate startup msg logging 2019-11-06 17:28:30 -05:00
Tau
aa53fd8146 allnet: Add some environment fallbacks 2019-11-06 17:28:30 -05:00
Tau
bbb5a3b408 aimedb/pipeline.ts: Silence a deprecation warning 2019-11-06 17:28:30 -05:00
Tau
072d70b42a Migrate to SQLite3
We'll keep the door open for side-by-side support of Postgres in
the background, but due to SQLite's type system quirks we cannot
use the same DDL for both databases, so we would have to maintain
two sets of DDL (schema init and schema migration scripts) at once.

Interested future contributors can shoulder this maintenance burden
if they so choose.
2019-11-06 17:28:30 -05:00
Tau
f9970fa81c Force explicit conversion of rows fetched from SQL DB
Everything is a scalar value now, and while this does involve more
boilerplate it will also catch type conversion issues like
"1" + 0 === "10" in the future.
2019-11-06 17:28:30 -05:00
Tau
30d42bd832 Store array colums as CSV text
This is in preparation for a transition to SQLite, which sadly does
not support array-valued columns (or indeed have much of a type
system in general).
2019-11-06 17:28:30 -05:00
Tau
3e6b4f4798 Add an SQL DB abstraction layer
Because what self-respecting Enterprise(R) project doesn't have
one of those?
2019-11-06 17:28:30 -05:00
Tau
2ccd9dc382 types/sql-bricks-postgres: Add initial typings
This commit declares and type-checks the following clauses:

* limit().offset() chains on SelectStatement
* onConflict().doUpdate() chains on InsertStatement

We need to flesh out the other possibilities for onConflict() in
particular before all these changes get submitted as an upstream
PR.
2019-11-06 17:28:30 -05:00
Tau
691841187b types/sql-bricks: Make Statement chains polymorphic
This will allow us to cleanly extend these interfaces with
additional clauses understood by Postgres, which we can then chain
without having to redeclare the entire interface.
2019-11-06 17:28:30 -05:00
Tau
a71a73e324 types/sql-bricks: Export Statement interfaces
We'll need access to these statements so that we can extend them.
2019-11-06 17:28:30 -05:00
Tau
078cb84b35 types/sql-bricks: Export SqlBricksFn type
We'll need to export this in order to define the ops exported from
sql-bricks-postgres in terms of the base sql-bricks exports.
2019-11-06 17:28:30 -05:00
Tau
775584a645 types/sql-bricks: Fixup forked typings
Wrap everything in a module instead of a namespace. I'm still not
entirely clear on what the distinction is but the forked typings
don't seem to get applied without this change.
2019-11-06 17:28:30 -05:00
Tau
384212ce2e Locally fork sql-bricks types 2019-11-06 17:28:30 -05:00
Tau
1567b689b9 Add local typings directory to project 2019-11-06 17:28:30 -05:00
Tau
254478e20c Use workspace TypeScript ver in vscode 2019-11-06 17:28:30 -05:00
Tau
4dd3f39472 Fix sql-bricks import style 2019-11-06 17:28:30 -05:00
Tau
49802602bf Minor package.json cleanups 2019-11-06 17:28:30 -05:00