Top 23 Go MariaDB Projects
Go MySQL Driver is a MySQL driver for Go's (golang) database/sql package (by go-sql-driver)Project mention: Tools besides Go for a newbie | /r/golang | 2023-03-26
IDE: use whatever make you productive. I personally use vscode. VCS: git, as golang communities use github heavily as base for many libraries. AFAIK Linter: use staticcheck for linting as it looks like mostly used linting tool in go, supported by many also. In Vscode it will be recommended once you install go plugin. Libraries/Framework: actually the standard libraries already included many things you need, decent enough for your day-to-day development cycles(e.g. `net/http`). But here are things for extra: - Struct fields validator: validator - Http server lib: chi router , httprouter , fasthttp (for non standard http implementations, but fast) - Web Framework: echo , gin , fiber , beego , etc - Http client lib: most already covered by stdlib(net/http), so you rarely need extra lib for this, but if you really need some are: resty - CLI: cobra - Config: godotenv , viper - DB Drivers: sqlx , postgre , sqlite , mysql - nosql: redis , mongodb , elasticsearch - ORM: gorm , entgo , sqlc(codegen) - JS Transpiler: gopherjs - GUI: fyne - grpc: grpc - logging: zerolog - test: testify , gomock , dockertest - and many others you can find here
Database migrations. CLI and Golang library.Project mention: Python: Just Write SQL | news.ycombinator.com | 2023-08-14
First of all, thank you for SQLAlchemy! If I ever had to make a final choice in how I would interact with a database for a very large project that involves a considerable dev team, I would always bet on SQLAlchemy. Not that I would necessarily like all aspects of it, but when it comes to Python and SQL - “Nobody ever got fired for picking SQLAlchemy.”.
With that out of the way, despite ORMs doing much more than "just writing SQL", it is exactly on that point that I flinch: Most devs should be exposed to SQL. And if your project allows you to build around simple enough abstractions so that you aren't reinventing the wheel, you should definitely be writing SQL. Especially if you don't know SQL yet - which is the growing case of new devs coming into the job market.
You can achieve a lot with SQlAlchemy Core, a tool that I absolutely recommend, but my post is just a simple alternative to get developers to think about their approach. If that results in some devs reconsidering using "full fat" SQLAlchemy and to try SQLAlchemy Core, that's a win for me!
Your gist tries to highlight the difficulty of doing certain things without an ORM. Migrations (as just 1 example) doesn't need to be hard, simple tools like flyway, or migrate (https://github.com/golang-migrate/migrate) achieve a similar result (while also keeping you on the path of writing SQL!). Deep and complex relationships between objects also don't need to be hard - typically people approach this subject with a requirement to be very flexible in the way they want to build queries and objects, but that to me in a sign that maybe they should reconsider their business logic AND reconsider that, just maybe, their project doesn't require all that flexibility, it is fairly straightforward to extend objects and introduce some more complex representations as and when it is needed - will all of this make me write code faster? Absolutely not. That is why you have spent so much time perfecting SQLAlchemy, but then again, I am not advocating for devs to go and replace their usage of ORMs, just presenting an alternative that may or may not fit their needs for a new project + give devs the chance to learn something that the ORM might have taken away.
Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.
Universal command-line interface for SQL databasesProject mention: xo/usql: Universal command-line interface for SQL databases | /r/devel | 2023-06-08
Archival and Restoration for databases in the Cloud
tbls is a CI-Friendly tool for document a database, written in Go.Project mention: tbls | /r/devopspro | 2023-02-19
Docker-based local PHP+Node.js web development environments
Prisma Client Go is an auto-generated and fully type-safe database clientProject mention: Prisma laying off 28% staff | news.ycombinator.com | 2023-01-22
The same company that stopped officially maintaining their golang library when it wasn't getting "the growth we were hoping for".
Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
Type safe SQL builder with code generation and automatic query result data mapping
Test your code without writing mocks with ephemeral Docker containers 📦 Setup popular services with just a couple lines of code ⏱️ No bash, no yaml, only code 💻Project mention: How to unit test your database interactions with Docker | /r/golang | 2023-03-24
https://github.com/orlangure/gnomock does this pretty well, but I liked your solution too, it is neat.
Declarative pure-SQL schema management for MySQL and MariaDBProject mention: Automagically generate migrations for GORM | /r/golang | 2023-06-29
Atlas hasn’t made it on my radar until now — surprising considering how many stars it has. Based on the description, it looks like it can do something similar to skeema except it isn’t limited to one flavor of sql like skeema. I’m looking forward to trying it out in my next postgres project.
A bunch o' Docker Compose files used to quickly spin up local databases.
Wait4X allows you to wait for a port or a service to enter the requested state.Project mention: Docker Compose: how to wait for the MySQL server container to be ready? | dev.to | 2022-11-29
Further Googling, I found this Docker document Control startup and shutdown order in Compose, whereby several tools are recommended to implement the waiting, among them are wait-for-it and Wait4X.
🦭 Run and operate MariaDB in a cloud native wayProject mention: Run and operate MariaDB in Kubernetes with mariadb-operator | /r/kubernetes | 2023-07-23
In this blog, we discuss the effective utilization of mariadb-operator to manage MariaDB instances in Kubernetes using CRDS, promoting a declarative approach instead of relying on imperative commands.
Releem is a simple MySQL tuning tool to improve database performance and reduce servers costs.Project mention: Releem: Db Performance Tuning as a Service | news.ycombinator.com | 2023-08-18
EdgelessDB is a MySQL-compatible database for confidential computing. It runs entirely inside a secure enclave and comes with advanced features for collaboration, recovery, and access control.
Gosora is an ultra-fast and secure forum software written in Go that balances usability with functionality.
🏋️ dbbench is a simple database benchmarking tool which supports several databases and own scripts
Simple CRUD Application with Go, Gorilla/mux, MariaDB, Redis.
MySQL(or MariaDB) UDF(User-Defined Functions) Http Client Plugin.
A package to parse slow query logs in Go, with associated tooling (digester, replayer...), and compatible with multiple databases (MySQL, MariaDB, PerconaDB...).
a db migration manager
Export SQL tables or queries to files in JSON or Markdown / YAML format. Mainly to use with static site generators like Hugo to generate content from databaseProject mention: sql-export - create .md / .json files from database content | dev.to | 2022-11-25
sql-export export database data into all-in-one JSON file or into many files (one file per SQL result row) in JSON, Markdown with YAML frontmatter or custom format (using text/template, same syntax as you use is HTML layouts in Hugo)
Updating dependencies is time-consuming.. Solutions like Dependabot or Renovate update but don't merge dependencies. You need to do it manually while it could be fully automated! Add a Merge Queue to your workflow and stop caring about PR management & merging. Try Mergify for free.
Go MariaDB related posts
Managing external database versions in Kubernetes
8 projects | /r/kubernetes | 25 Dec 2022
Make Deno MySQL driver works better
3 projects | dev.to | 1 Dec 2022
Are entity framework tools typically avoided with MySQL & Go and are there alternatives for migration script tooling that version control the entire schema like SSDT?
2 projects | /r/golang | 16 Nov 2021
Inserting One Billion Rows in SQLite Under a Minute
5 projects | news.ycombinator.com | 18 Jul 2021
What are some of the best open-source MariaDB projects in Go? This list will help you:
|18||Simple CRUD App w/ Gorilla/Mux, MariaDB||73|