create-go-app
migrate
create-go-app | migrate | |
---|---|---|
6 | 72 | |
2,334 | 14,000 | |
1.1% | 2.0% | |
7.5 | 8.0 | |
15 days ago | 11 days ago | |
Go | Go | |
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
create-go-app
- Links e Projetos em Golang
-
📖 Go Fiber by Examples: Working with middlewares and boilerplates
View on GitHub
-
🎉 The Create Go App project has grown to v2, but is still easier, better, faster & stronger
# ./hosts.ini # Ansible inventory for deploy the Create Go App project. # Author: Vic Shóstak (https://shostak.dev) # For more information, please visit https://create-go.app/ [cgapp_project] 127.0.0.1 # CHANGE THIS TO YOUR REMOTE SERVER IP! [cgapp_project:vars] # # Ansible default variables to start playbook: # # Set remote sudo username ansible_user=root # Ask become password for remote sudo user ansible_become=yes # Set connection type to remote server (usually, 'ssh') ansible_connection=ssh # Set Python 3 default path ansible_python_interpreter=/usr/bin/python3 # # Remote server configuration: # # Set directory on your remote server # for store project files server_dir=/var/www/cgapp # Set user (owner of files/folders) name server_user=root # Set group name server_group=docker # # Project configuration: # # Set your project domain project_domain=example.com # # Docker configuration: # # Set Docker network name docker_network=cgapp_network # # Backend configuration: # # Set backend port number, # MUST BE MATCH to the port that is listed # in your `./backend/.env` file! backend_port=5000 # # PostgreSQL configuration (backend DB): # # Set PostgreSQL version (for example, 13.2) postgres_version=latest # Set PostgreSQL port number, # MUST BE MATCH to the port that is listed # in your `./backend/.env` file! postgres_port=5432 # Set PostgreSQL user name, # MUST BE MATCH to the user name that is listed # in your `./backend/.env` file! postgres_user=postgres # Set PostgreSQL password, # MUST BE MATCH to the password that is listed # in your `./backend/.env` file! postgres_password=password # Set PostgreSQL DB name, # MUST BE MATCH to the DB name that is listed # in your `./backend/.env` file! postgres_db=postgres # Set PostgreSQL SSL mode state ('enabled' or 'disabled'), # MUST BE MATCH to the SSL mode state that is listed # in your `./backend/.env` file! postgres_ssl_mode=disable # # Go-Migrate configuration: # # Set migration number, # if you WANT to migrate all of your migrations, # just leave it blank, # for only initial migration set it to '1' migrate_number=1 # # Redis configuration (backend cache): # # Set Redis version (for example, 6.2) redis_version=latest # Set Redis port number, # MUST BE MATCH to the port that is listed # in your `./backend/.env` file! redis_port=6379 # # Nginx configuration: # # Set Nginx version (for example, 1.20-alpine) nginx_version=alpine # Set redirect from HTTP to HTTPS for default server nginx_use_only_https=yes # Set redirect from WWW to non-WWW domain for default server nginx_redirect_to_non_www=yes
-
🗞 What's new and special in Create Go App CLI v1.7.0?
Hey, DEV friends! 👋 Today, I'd like to introduce a new version of my own project Create Go App CLI, that changes some fundamental things.
-
✨ A powerful CLI for create a new production-ready project with backend, frontend and deploy automation
This is a common console utility, written on pure Golang. Therefore, download and install Go. Version 1.11 or higher is required. Next, download the latest version of the Create Go App and install to your system:
migrate
-
Using migrations with Golang
Go does not natively support the use of migrations, but we could use the ORM that has this functionality, such as GORM which is the most used by the community, but We can use migrations without using an ORM, for this we will use the golang-migrate package.
-
How to use SQLC with Golang
$ curl -L https://github.com/golang-migrate/migrate/releases/download/$version/migrate.$os-$arch.tar.gz | tar xvz
- Looking for recommendations for model/schema/migration management in Golang
- API completa em Golang - Parte 1
-
Building RESTful API with Hexagonal Architecture in Go
Golang-migrate is a database migration tool designed for Go applications. It helps manage and apply changes to the database schema as the application grows, ensuring that the code and database structure stay in sync.
-
Python: Just Write SQL
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.
-
best practices for testing of stored procedure calls?
Doing this now with a mysql db for my use case. Using sp to take a large chunk of data migration load off my data layer code. I am using migrate (go library) for migrations and hooked it up with a bunch of test suites for all SP and Triggers it creates. I test it against a testDB maintained as part of my CI/CD. Haven’t had an issue with production yet. It does however require quite a bit of initial setup.
- Database migration tool
-
REST API with Go, Chi, MySQL and sqlx
Before we can start using MySQL we need to create a table to store our data. I will be using excellent migrate database migrations tool, it can also be imported as a libraray.
-
Authentication system using Golang and Sveltekit - User registration
We need a database table to store our application's users' data. To generate and migrate a schema, we'll use golang migrate. Kindly follow these instructions to install it on your Operating system. To create a pair of migration files (up and down) for our user table, issue the following command in your terminal and at the root of your project:
What are some alternatives?
delve - Delve is a debugger for the Go programming language.
goose
gluetun - VPN client in a thin Docker container for multiple VPN providers, written in Go, and using OpenVPN or Wireguard, DNS over TLS, with a few proxy servers built-in.
goose - A database migration tool. Supports SQL migrations and Go functions.
ctop - Top-like interface for container metrics
pgx - PostgreSQL driver and toolkit for Go
fzf - :cherry_blossom: A command-line fuzzy finder
tern - The SQL Fan's Migrator
peco - Simplistic interactive filtering tool
gormigrate - Minimalistic database migration helper for Gorm ORM
glow - Render markdown on the CLI, with pizzazz! 💅🏻
sqlx - general purpose extensions to golang's database/sql