A better ORM for Go and database/sql. It uses non-empty interfaces, code generation (go generate), and initialization-time reflection as opposed to interface{}, type system sidestepping, and runtime reflection. It will be kept simple. 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.

Features

  • A better ORM for Go and database/sql
  • It uses non-empty interfaces, code generation (go generate)
  • It will be kept simple
  • Tested with all supported versions
  • We are following Semantic Versioning, using gopkg.in and filling a changelog
  • Code is covered by standard MIT-style license

Project Samples

Project Activity

See All Activity >

License

MIT License

Follow reform

reform Web Site

You Might Also Like
Top-Rated Free CRM Software Icon
Top-Rated Free CRM Software

216,000+ customers in over 135 countries grow their businesses with HubSpot

HubSpot is an AI-powered customer platform with all the software, integrations, and resources you need to connect your marketing, sales, and customer service. HubSpot's connected platform enables you to grow your business faster by focusing on what matters most: your customers.
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of reform!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Programming Language

Go

Related Categories

Go Object-Relational Mapping (ORM) Software

Registered

2023-02-03