Generate secure, production-grade apps that connect to your business data. Not just prototypes, but tools your team can actually deploy.
Build internal software that meets enterprise security standards without waiting on engineering resources. Retool connects to your databases, APIs, and data sources while maintaining the permissions and controls you need. Create custom dashboards, admin tools, and workflows from natural language prompts—all deployed in your cloud with security baked in. Stop duct-taping operations together, start building in Retool.
Build an app in Retool
Atera all-in-one platform IT management software with AI agents
Ideal for internal IT departments or managed service providers (MSPs)
Atera’s AI agents don’t just assist, they act. From detection to resolution, they handle incidents and requests instantly, taking your IT management from automated to autonomous.
The fantastic ORM library for Golang, aims to be developer friendly
GORM is a powerful, developer-friendly ORM library for Go. It maps Go structs to DB tables, supports relationships, hooks, transactions, eager loading, raw SQL, migrations, and advanced querying with plugins.
LiteSQL is a codegenerator and C++ library that integrates C++ objects tightly to relational database and thus provides an object persistence layer. LiteSQL supports SQLite3, PostgreSQL, MySQL and oracle as backends.
A better ORM for Go, based on non-empty interfaces and code generation
...Now you can say that last invocation is obviously invalid, and that it's not hard to make an ORM to accept both first and second versions. Make sure you are using Go 1.13+, and Go modules support is enabled. Install or update reform package, reform and reform-db commands. Compiler can't check it. Method's signature in godoc will not tell us how to use it. We are essentially working against those tools by sidestepping type system. First version is still invalid, since one would expect Save() method to set record's primary key after INSERT, but this change will be lost due to passing by value.