Simple SQL migration manager for your project

MIT license (LICENSE-MIT or

Migra

Simple SQL migration manager for your project.

Install

If you want to use dotenv for configure migra cli, just run the following in your terminal.

Each supported database is located in separate features with a similar name. The default is postgres. For example, if you only want to work with mysql, you need to disable postgres and enable mysql.

Usage

A few steps to get you started

  1. Initialize migra configuration (Optional)

  2. Make your first migration

  3. Check applied and pending migrations

  4. Upgrade your database

For more information about the commands, simply run migra help

Supported databases

Database Feature Default
Postgres postgres :heavy_check_mark:
MySQL mysql :x:
Sqlite sqlite :x:

License

Licensed under either of these:

  • Apache License, Version 2.0, (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
  • MIT license (LICENSE-MIT or #404)
Issues

Collection of the latest Issues

pleshevskiy

pleshevskiy

enhancement
0

Is your feature request related to a problem? Please describe.

In my daily work with the database, I need to run the script before and after migrations.

Describe the solution you'd like

I'm thinking of giving the option to add an option to the manifest

and possibly options in cli

migra up --before drop-schema --after imp-schema migra down --exec-before "DROP SCHEMA IF EXISTS imp CASCADE;"

Versions

Find the latest versions by id

core-v1.0.0 - Jun 12, 2021

Moved basic helpers, traits and types from CLI to core crate

cli-v0.6.0 - Jun 12, 2021

Changelogs

  • Added sqlite client. (#10)
  • Moved most of the functionality to core crate with simpler implementation. (#11)

v0.5.0 - May 16, 2021

Changelogs

  • feat: single transaction (#2)
  • feat: apply multiple files (#3)
  • feat: add options to manifest (#8)

v0.4.0 - Mar 25, 2021

Changelogs:

  • feat: add mysql database supporting

v0.3.2 - Mar 24, 2021

Changelogs:

  • fix: finding an existing manifest

v0.3.0 - Mar 01, 2021

Changelogs

  • feat: add dotenv to load migra config
  • feat: add transaction manager

v0.2.0 - Feb 25, 2021

Changelogs

  • feat: add migration name option to update command
  • feat: add migration number option to update command
  • feat: add migration number option to downgrade command
  • feat: add all migration flag to downgrade command
  • feat: add completions subcommand

Internal

  • refac: remove path builder
  • refac: made the error object simpler
  • refac: restructure database

v0.1.4 - Feb 22, 2021

Changelogs:

  • fix: change install instruction 🤦

v0.1.3 - Feb 22, 2021

Changelogs:

  • Add supported database client to manifest
  • Print to stdout in make command about successfully created directory with structure for migration

Internal changelogs:

  • Restructure code
  • Add database migration manager
  • Add tests for init, list, make, upgrade commands
  • Integrate github ci

v0.1.2 - Feb 15, 2021

Some optimizations and preparation of an abstraction to support a second database

v0.1.1 - Feb 08, 2021

Changelogs

  1. feat: read database url from env variable. Now we can use migra cli without config initialization
  2. feat: add support for custom path for config file initialization

v0.1.0 - Feb 08, 2021

First public version

Information - Updated Oct 22, 2021

Stars: 3
Forks: 0
Issues: 1

Repositories & Extras

An experimental no-alloc Rust GUI toolkit built on top of embedded-graphics

is to provide a cross-platform, no_std, non-allocating, composable UI framework

An experimental no-alloc Rust GUI toolkit built on top of embedded-graphics

Rust compiler toolkit for WebAssembly apps in the WasmEdge Runtime

Developers: Getting started with the Tencent Serverless Functions for AI inference, or WasmEdge Runtime

Rust compiler toolkit for WebAssembly apps in the WasmEdge Runtime

A tool for running Rust lints from dynamic libraries

Dylint is a Rust linting tool, similar to Clippy

A tool for running Rust lints from dynamic libraries

A rust github template for ease of use

Install the rust toolchain in order to have cargo installed by following

A rust github template for ease of use

Rust tools to help parse and format NEAR units

For now, this means NEAR tokens and

Rust tools to help parse and format NEAR units

Rust tooling for low-level manipulation of the GraphQL language

This repository is a work in progress, and we do not recommend to use it in production

Rust tooling for low-level manipulation of the GraphQL language

Rust RPG Toolkit

This is a rename, and a repurpose, of my game codebase (Capstone)

Rust RPG Toolkit
JSON

792

A revolutionary new concept: an app that helps you keep track of the things you

Follow the instructions here to install the rust toolchain: Clone repo

A revolutionary new concept: an app that helps you keep track of the things you

A commandline tool for making V-plot matrices from genomics data

vplot is a small Rust tool for generating V-plot matrices

A commandline tool for making V-plot matrices from genomics data

The wasm-to-rust tool allows compilation from WebAssembly to Rust source code

This is still very much a work in progress so not every WebAssembly binary successfully compiles to valid Rust source code

The wasm-to-rust tool allows compilation from WebAssembly to Rust source code
Facebook Instagram Twitter GitHub Dribbble
Privacy