In my last post I touched on the idea of using query builders for building up somewhat complex SQL queries in Go. Well, in this post I’d like to go further, and explore how this can be used to idiomatically build out a simple system for modelling relationships in Go. This post going forward will assume that you have read the aforementioned post.
~ $ andrew pillar
Recently, I have been looking into various solutions for interacting with
databases with ease in Go. My go to library for database work in Go is
sqlx, this makes unmarshalling the data from
the database into structs a cinch. You write out your SQL query, tag your
structs using the
db tag, and let sqlx
handle the rest. However, the main problem I have encountered, was with
idiomatic query building. This led me to investigate this problem, and jot down
some of my thoughts in this post.
I am an impatient man (if my sporadic typos, and last minute edits late at night on my blog didn’t make it obvious already). Recently this has started to stick out to me much more, especially in regards to programming. More often than not I would find myself just writing code haphazardly, then let the compiler/interpreter point out the errors for me, some not so obvious, others more obvious than I would have liked. This is a rather reckless approach to take when it comes to development. I find that it prevents me from actually thinking about what I am doing, and results in me producing tools and code that are in unsatisfactory state.
It has been too long since my last post in which I announced mgrt, the simple SQL migration tool. Has much happened between then and now? Well, I showed off mgrt to some people with little fanfare, and got around to implementing TLS support for the tool. Right now it supports TLS for PostgreSQL, and to a certain extent MySQL/MariaDB. And during my further developments of the tool itself I have come to realise how much I truly despise working with MySQL. My feelings for it are all superficial, so they hardly warrant a tangent.
It’s been almost a month since my last post, in which I detailed what I hoped to achieve in regards to this blog, and to a slightly further extent this year.
2019 is around the corner, and it has been 2 months since the first post I made on this blog, though I doubt anyone is actively following/reading. I have done very little to advertise it so what should I expect? However I think now is an apt time to justify the purpose of this blog, and layout some of the things I would like to achieve in the coming year.
jrnl is a simple static site generator written in Go. It takes posts written in Markdown, and converts them to HTML. The generated HTML files are then copied to a remote destination, this can either be a location on disk, or to a remote server. Unlike most other static site generators jrnl does not serve the content that is generated. This post shall serve as a brief introduction to jrnl, for more in depth usage refer to the readme on the project’s GitHub.