Docs improved, template fixes
This commit is contained in:
parent
2f9fb1de98
commit
df46ca8c93
171
README.md
171
README.md
|
@ -18,14 +18,14 @@ It's recommended to install the package globally.
|
|||
|
||||
```text
|
||||
# npm install -g myvc
|
||||
$ myvc [command]
|
||||
$ myvc <command>
|
||||
```
|
||||
|
||||
You can also install locally and use the *npx* command to execute it.
|
||||
|
||||
```text
|
||||
$ npm install myvc
|
||||
$ npx myvc [command]
|
||||
$ npx myvc <command>
|
||||
```
|
||||
|
||||
## How to use
|
||||
|
@ -54,6 +54,101 @@ Local server management commands:
|
|||
|
||||
Each command can have its own specific commandline options.
|
||||
|
||||
## Basic information
|
||||
|
||||
First of all you have to initalize the workspace.
|
||||
|
||||
```text
|
||||
$ myvc init
|
||||
```
|
||||
|
||||
Now you can configure MyVC using *myvc.config.yml* file, located at the root of
|
||||
your workspace. This file should include the project codename and schemas/tables
|
||||
wich are exported when you use *pull* or *dump* commands.
|
||||
|
||||
Don't forget to initialize git (if it isn't initialized yet).
|
||||
|
||||
```text
|
||||
$ git init
|
||||
```
|
||||
|
||||
### Remotes
|
||||
|
||||
Create database connection configuration for each environment at *remotes*
|
||||
folder using standard MySQL *ini* configuration files. The convention remote
|
||||
names are *local*, *production* and *test*.
|
||||
|
||||
```text
|
||||
remotes/[remote].ini
|
||||
```
|
||||
### Startup
|
||||
|
||||
Once the basic configuration is done, routines can be imported from the
|
||||
database into the project, it is recommended to use the *production* remote.
|
||||
|
||||
```text
|
||||
$ myvc pull production
|
||||
```
|
||||
|
||||
From now on, you can use the project as if it were a standard git repository
|
||||
(since it is). To apply changes to the database run the *push* command on the
|
||||
desired remote.
|
||||
|
||||
```text
|
||||
$ myvc push [<remote>]
|
||||
```
|
||||
|
||||
### Routines
|
||||
|
||||
Routines are placed inside *routines* folder. All objects that have PL/SQL code
|
||||
are considered routines. It includes events, functions, procedures, triggers
|
||||
and views with the following structure.
|
||||
|
||||
```text
|
||||
routines
|
||||
`- schema
|
||||
|- events
|
||||
| `- eventName.sql
|
||||
|- functions
|
||||
| `- functionName.sql
|
||||
|- procedures
|
||||
| `- procedureName.sql
|
||||
|- triggers
|
||||
| `- triggerName.sql
|
||||
`- views
|
||||
`- viewName.sql
|
||||
```
|
||||
|
||||
### Versions
|
||||
|
||||
Versions are placed inside *versions* folder with the following structure.
|
||||
Don't place your PL/SQL objects here, use the routines folder!
|
||||
|
||||
```text
|
||||
versions
|
||||
|- 00001-firstVersionCodeName
|
||||
| |- 00-firstExecutedScript.sql
|
||||
| |- 01-secondScript.sql
|
||||
| `- 99-lastScript.sql
|
||||
`- 00002-secondVersion
|
||||
|- 00-firstExecutedScript.sql
|
||||
`- 00-sameNumbers.sql
|
||||
```
|
||||
|
||||
### Local server
|
||||
|
||||
The local server is created as a MariaDB Docker container using the base dump
|
||||
created with the *dump* command plus pushing local versions and changed
|
||||
routines.
|
||||
|
||||
### Dumps
|
||||
|
||||
You can create your local fixture and structure files.
|
||||
|
||||
* *dump/structure.sql*
|
||||
* *dump/fixtures.sql*
|
||||
|
||||
|
||||
## Versioning commands
|
||||
|
||||
### init
|
||||
|
@ -126,78 +221,6 @@ version of it.
|
|||
$ myvc start
|
||||
```
|
||||
|
||||
## Basic information
|
||||
|
||||
First of all you have to initalize the workspace.
|
||||
|
||||
```text
|
||||
$ myvc init
|
||||
```
|
||||
|
||||
Now you can configure MyVC using *myvc.config.yml* file, located at the root of
|
||||
your workspace. This file should include the project codename and schemas/tables
|
||||
wich are exported when you use *pull* or *dump* commands.
|
||||
|
||||
### Remotes
|
||||
|
||||
Create database connection configuration for each environment at *remotes*
|
||||
folder using standard MySQL *ini* configuration files. The convention remote
|
||||
names are *production* and *test*.
|
||||
|
||||
```text
|
||||
remotes/[remote].ini
|
||||
```
|
||||
|
||||
### Routines
|
||||
|
||||
Routines are placed inside *routines* folder. All objects that have PL/SQL code
|
||||
are considered routines. It includes events, functions, procedures, triggers
|
||||
and views with the following structure.
|
||||
|
||||
```text
|
||||
routines
|
||||
`- schema
|
||||
|- events
|
||||
| `- eventName.sql
|
||||
|- functions
|
||||
| `- functionName.sql
|
||||
|- procedures
|
||||
| `- procedureName.sql
|
||||
|- triggers
|
||||
| `- triggerName.sql
|
||||
`- views
|
||||
`- viewName.sql
|
||||
```
|
||||
|
||||
### Versions
|
||||
|
||||
Versions are placed inside *versions* folder with the following structure.
|
||||
Don't place your PL/SQL objects here, use the routines folder!
|
||||
|
||||
```text
|
||||
versions
|
||||
|- 00001-firstVersionCodeName
|
||||
| |- 00-firstExecutedScript.sql
|
||||
| |- 01-secondScript.sql
|
||||
| `- 99-lastScript.sql
|
||||
`- 00002-secondVersion
|
||||
|- 00-firstExecutedScript.sql
|
||||
`- 00-sameNumbers.sql
|
||||
```
|
||||
|
||||
### Local server
|
||||
|
||||
The local server is created as a MariaDB Docker container using the base dump
|
||||
created with the *dump* command plus pushing local versions and changed
|
||||
routines.
|
||||
|
||||
### Dumps
|
||||
|
||||
You can create your local fixture and structure files.
|
||||
|
||||
* *dump/structure.sql*
|
||||
* *dump/fixtures.sql*
|
||||
|
||||
## Why
|
||||
|
||||
The main reason for starting this project it's because there are no fully free
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "myvc",
|
||||
"version": "1.3.8",
|
||||
"version": "1.3.9",
|
||||
"author": "Verdnatura Levante SL",
|
||||
"description": "MySQL Version Control",
|
||||
"license": "GPL-3.0",
|
||||
|
|
|
@ -5,7 +5,7 @@ schemas:
|
|||
fixtures:
|
||||
myvc:
|
||||
- version
|
||||
- versionUser
|
||||
- versionLog
|
||||
my_db:
|
||||
- table1
|
||||
- table2
|
||||
|
|
|
@ -7,10 +7,7 @@
|
|||
"repository": {
|
||||
"type": "git"
|
||||
},
|
||||
"devDependencies": {
|
||||
"myvc": "^1.0.17"
|
||||
},
|
||||
"scripts": {
|
||||
"myvc": "myvc"
|
||||
"dependencies": {
|
||||
"myvc": "^1.3.9"
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue