Level UP your RDBMS productivity in Go

Developing with a database can be difficult, especially when dealing with typing issues, setting up a new database instance for testing, handling migrations, and other related tasks. By combining dbmate, sqlc, and test containers, we can effortlessly improve our database within our Go code.


Developing with a database often presents challenges, such as typing issues and setting up new instances for testing or handling migrations. While these issues can be frustrating, there are ways to improve your database management skills and simplify your workflow with an SQL-first approach.

One effective approach is to integrate open-source projects into your Go coding workflow. The following tools are particularly useful:
- dbmate for managing automatic migrations
- sqlc to ensure type safety
- testcontainers to create integration tests

By running a DB inside a Linux container and testing everything, you can ensure that your database is working properly and catch any issues early on. If you're struggling with database management, consider using these tools to streamline your workflow.

In this talk we are going to see:
- Brief overview of the involved tools and why we want to apply this process to our workflow;
- LIVE CODING to demonstrate how this approach works with a PostgreSQL database.

Stay connected

You can subscribe to our newsletter to stay updated on the latest news and announcements. Follow us on social media to join our community and engage with other attendees, speakers, and staff. We're on Twitter, Mastodon, Youtube and Facebook. Don't forget to use our official hashtag #GoLab2023 to share your experience and connect with other attendees on social media.

Subscribe to our newsletter

We hate spam just as much as you do, which is why we promise to only send you relevant communications. We respect your privacy and will never share your information with third parties.
©2023 GoLab | The international conference on Go in Florence-Design & devCantiere Creativo-Made withDatoCMS