| I'm not a fan of the complexity added by this and other similar frameworks.
PHP and Go are very different languages, so trying to replicate the same concepts for one language to another I don't think it is a good idea. One of the things I would discard would be the use of an ORM library : every library adds another level of complexity and doesn't allow to see what is happening when the SQL statements are built.
In my opinion, it is better to create some simple methods for each object that implement the CRUD operations and build the SQL statements directly. It is possible to write a web application with GO using only some libraries, for example for routing and authentication. My favorite place to start is Autostrada : https://autostrada.dev/ |
Have you done this for any complex system? I'd love to see you do this for the AzerothCore: it has 298 tables, 3,010,875 rows across those tables, and one table (quest_template) has 105 columns.
Instead I've thrown SQLAlchemy in front of it and now I can query it without writing a single line of SQL.
I think tools are tools, and using the right tool at the right time is an important skill I think you've yet to develop.