myt/README.md

1.6 KiB

MyVC (MySQL Version Control)

Utilities to ease the maintenance of MySQL database versioning using a Git repository.

Prerequisites

Required applications.

  • Git
  • Node.js = 12.17.0 LTS
  • Docker

How to use

Export structure (uses production configuration).

$ myvc structure

Export fixtures (uses production configuration).

$ myvc fixtures

Export routines.

$ myvc routines [environment]

Apply changes into database.

$ myvc apply [-f] [-u] [environment]

Basic information

Create database connection configuration files for each environment at main project folder using the standard MySQL parameters. The predefined environment names are production and testing.

db.[environment].ini

Structure and fixture dumps are located inside dump folder.

  • structure.sql
  • fixtures.sql
  • fixtures.local.sql

Routines are located inside routines folder. It includes procedures, functions, triggers, views and events with the following structure.

  routines
  `- schema
     |- events
     |  `- eventName.sql
     |- functions
     |  `- functionName.sql
     |- procedures
     |  `- procedureName.sql
     |- triggers
     |  `- triggerName.sql
     `- views
        `- viewName.sql

Versions

Place your versions inside changes folder with the following structure.

  changes
  |- 00001-firstVersionCodeName
  |  |- 00-firstExecutedScript.sql
  |  |- 01-secondScript.sql
  |  `- 99-lastScript.sql
  `- 00002-secondVersion
     |- 00-firstExecutedScript.sql
     `- 00-sameNumbers.sql

Built With