{"repo":"g14a/metana","free":true,"listed":false,"github":"https://github.com/g14a/metana","clone":"git clone https://github.com/g14a/metana.git","description":"Abstract task migration tool written in Go for Golang services. Database and non database migration management brought to the CLI.","language":"Go","stars":64,"topics":["go","cli","db","migrations","abstract","tasks","g14a","golang","metana","database"],"license":"Apache-2.0","category":"databases-storage","readme_excerpt":"Metana An abstract task migration tool written in Go for Go services. Database and non database migrations management brought to your CLI. Table of Contents Use case Installation Using Go macOS Linux Building from Source Usage Init ✅ Create 👌 Up ⬆️ Down ⬇️ List Features Run migrations until a certain point Store and Track your migrations in your favourite database Dry Run Migrations Automatic Rollback on Migration Failure Use case The motivation behind creating this tool, is to abstract away the database part. If your task can be completed with Pure Go or via a Go driver of your service, then this is for you. Since it makes use of the Go runtime, you can even perform database migrations like PostgreSQL, Mongo, Redis, Elasticsearch, GCP Buckets etc. You just need to be able to interact with your data store or complete your task using Go. The main use case is when you won't be able to do everything with SQL or No-SQL syntax. There might be some tasks where you need to aggregate data, iterate over them, and do business related computation. All you need to know is Go syntax and write a Go program. Installation Using Go Mac Linux Checkout the releases page and download your platform's binaries to install them. Releases Page Building from source Prerequisites: Git Go 1.13 or newer. Go modules are needed. Better if its the latest version. Usage After installation, let's just hit metana on the terminal. Init init initializes a boilerplate migrations directory in your current path. C","default_branch":null,"files":null,"tree":[],"storefront":"/r/g14a","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/g14a/metana/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}