@verdnatura/myt 1.8.6 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +79 -51
  2. package/assets/myt.default.yml +7 -0
  3. package/assets/structure.sql +1 -1
  4. package/{server/Dockerfile.client → docker/client/Dockerfile} +3 -3
  5. package/docker/server/Dockerfile +37 -0
  6. package/docker/server/Dockerfile.base +6 -0
  7. package/docker/server/Dockerfile.myt +38 -0
  8. package/docker/server/docker-init.sh +36 -0
  9. package/{server → docker/server}/docker-start.sh +1 -1
  10. package/lib/command.js +14 -6
  11. package/lib/docker.js +60 -34
  12. package/lib/dumper.js +11 -9
  13. package/lib/exporter-engine.js +4 -4
  14. package/lib/server.js +2 -8
  15. package/myt-apply.js +203 -0
  16. package/myt-build.js +284 -0
  17. package/myt-clean.js +15 -11
  18. package/myt-create.js +19 -11
  19. package/myt-dump.js +41 -36
  20. package/myt-fixtures.js +6 -6
  21. package/myt-init.js +5 -3
  22. package/myt-pull.js +12 -11
  23. package/myt-push.js +99 -96
  24. package/myt-run.js +28 -144
  25. package/myt-start.js +4 -4
  26. package/myt-version.js +13 -13
  27. package/myt.js +285 -149
  28. package/package.json +4 -3
  29. package/prebuilts/README.md +15 -0
  30. package/prebuilts/nodegit-v0.28.0-alpha.36-node-v127-linux-x64.tar.gz +0 -0
  31. package/template/.dockerignore +5 -0
  32. package/template/myt.config.yml +1 -4
  33. package/template/package.json +1 -1
  34. package/template/realms/.keep +0 -0
  35. package/template/remotes/docker.ini +1 -1
  36. package/template/remotes/local.ini +1 -1
  37. package/template/remotes/socket.ini +3 -0
  38. package/template/structure/.dump/structure.sql +32 -0
  39. package/server/Dockerfile.base +0 -1
  40. package/server/Dockerfile.dump +0 -16
  41. package/server/Dockerfile.server +0 -16
  42. package/server/docker-import.sh +0 -10
  43. package/server/docker-init.sh +0 -24
  44. /package/{server → docker/client}/docker-dump.sh +0 -0
  45. /package/{server → docker/client}/docker-fixtures.sh +0 -0
  46. /package/{server → docker/server}/docker.cnf +0 -0
  47. /package/template/{dump/Dockerfile.base → docker/Dockerfile} +0 -0
  48. /package/template/{dump/fixtures.after.sql → fixtures/after.sql} +0 -0
  49. /package/template/{dump/fixtures.before.sql → fixtures/before.sql} +0 -0
  50. /package/template/{dump/dump.after.sql → structure/after.sql} +0 -0
  51. /package/template/{dump/dump.before.sql → structure/before.sql} +0 -0
@@ -0,0 +1,15 @@
1
+ # Pre-built nodegit binary
2
+
3
+ Reveal `node-gyp` info.
4
+ ```
5
+ ./node_modules/.bin/node-pre-gyp reveal --directory node_modules/nodegit
6
+ ```
7
+
8
+ Serve prebuilts from local `prebuilts` folder.
9
+ ```
10
+ npm_config_nodegit_binary_host_mirror=file://$(pwd)/prebuilts pnpm install
11
+ ```
12
+
13
+ ## Links
14
+
15
+ * https://axonodegit.s3.amazonaws.com/nodegit/nodegit/nodegit-v0.28.0-alpha.36-node-v127-linux-x64.tar.gz
@@ -0,0 +1,5 @@
1
+ .git
2
+ node_modules
3
+ remotes
4
+ !remotes/socket.ini
5
+ docker
@@ -1,11 +1,8 @@
1
1
  code: my-db
2
2
  schemas:
3
3
  - myt
4
- - my_db
5
4
  fixtures:
6
5
  myt:
7
6
  - version
8
7
  - versionLog
9
- my_db:
10
- - table1
11
- - table2
8
+ - versionConfig
@@ -8,6 +8,6 @@
8
8
  "type": "git"
9
9
  },
10
10
  "dependencies": {
11
- "@verdnatura/myt": "^1.0.0"
11
+ "@verdnatura/myt": "^2.0.0"
12
12
  }
13
13
  }
File without changes
@@ -2,4 +2,4 @@
2
2
  host = host.docker.internal
3
3
  port = 3306
4
4
  user = root
5
- password = root
5
+ password = root
@@ -1,5 +1,5 @@
1
1
  [client]
2
- host = 172.16.0.1
2
+ host = 127.0.0.1
3
3
  port = 3306
4
4
  user = root
5
5
  password = root
@@ -0,0 +1,3 @@
1
+ [client]
2
+ user = mysql
3
+ socket = /run/mysqld/mysqld.sock
@@ -0,0 +1,32 @@
1
+ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `myt`;
2
+ USE `myt`;
3
+
4
+ CREATE TABLE `version` (
5
+ `code` VARCHAR(50) NOT NULL,
6
+ `number` CHAR(11) NULL DEFAULT NULL,
7
+ `gitCommit` VARCHAR(255) NULL DEFAULT NULL,
8
+ `updated` DATETIME NOT NULL,
9
+ `lastNumber` CHAR(11) NULL DEFAULT NULL
10
+ ) ENGINE=InnoDB;
11
+
12
+ ALTER TABLE `version`
13
+ ADD PRIMARY KEY (`code`);
14
+
15
+ CREATE TABLE `versionLog` (
16
+ `code` VARCHAR(50) NOT NULL,
17
+ `number` CHAR(11) NOT NULL,
18
+ `file` VARCHAR(255) NOT NULL,
19
+ `user` VARCHAR(255) NULL,
20
+ `updated` DATETIME NOT NULL,
21
+ `errorNumber` INT(10) UNSIGNED DEFAULT NULL,
22
+ `errorMessage` VARCHAR(255) DEFAULT NULL
23
+ ) ENGINE=InnoDB;
24
+
25
+ ALTER TABLE `versionLog`
26
+ ADD PRIMARY KEY (`code`,`number`,`file`);
27
+
28
+ CREATE TABLE `versionConfig` (
29
+ `id` INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
30
+ `realm` VARCHAR(16) NULL DEFAULT NULL
31
+ COMMENT 'Data set on which the project runs'
32
+ ) ENGINE=InnoDB;
@@ -1 +0,0 @@
1
- FROM mysql:5.6
@@ -1,16 +0,0 @@
1
- FROM myt/server
2
-
3
- WORKDIR /workspace
4
- COPY .dump dump/.dump
5
- COPY dump.*.sql dump/
6
-
7
- RUN mkdir -p /mysql-template \
8
- && chown mysql:mysql /mysql-template \
9
- && gosu mysql docker-init.sh
10
-
11
- RUN echo "[LOG] Import finished." \
12
- && rm -rf dump
13
-
14
- COPY fixtures.*.sql dump/
15
- COPY .fixtures.sql dump/
16
- COPY realms realms/
@@ -1,16 +0,0 @@
1
- FROM myt/base
2
-
3
- ENV MYSQL_ROOT_PASSWORD=root
4
-
5
- COPY docker.cnf /etc/mysql/conf.d/
6
- COPY \
7
- docker-init.sh \
8
- docker-import.sh \
9
- docker-start.sh \
10
- /usr/local/bin/
11
-
12
- ENTRYPOINT ["docker-start.sh"]
13
- CMD ["mariadbd"]
14
-
15
- HEALTHCHECK --interval=2s --timeout=10s --retries=200 \
16
- CMD mysqladmin ping -h 127.0.0.1 -u root --password=root || exit 1
@@ -1,10 +0,0 @@
1
- #!/bin/bash
2
-
3
- FILE="$1.sql"
4
- if [[ ! -f "$FILE" ]] ; then
5
- exit
6
- fi
7
-
8
- echo "[LOG] -> Importing $FILE"
9
- export MYSQL_PWD=root
10
- mariadb -u root --default-character-set=utf8 --comments -f < "$FILE"
@@ -1,24 +0,0 @@
1
- #!/bin/bash
2
- set -e
3
-
4
- . /usr/local/bin/docker-entrypoint.sh
5
- ARGS=(mariadbd --datadir=/mysql-template)
6
-
7
- mysql_check_config ${ARGS[@]}
8
- docker_setup_env ${ARGS[@]}
9
- docker_create_db_directories
10
-
11
- docker_verify_minimum_env
12
- docker_init_database_dir ${ARGS[@]}
13
- docker_temp_server_start ${ARGS[@]}
14
- docker_setup_db
15
- docker_process_init_files /docker-entrypoint-initdb.d/*
16
-
17
- docker-import.sh dump/dump.before
18
- docker-import.sh dump/.dump/structure
19
- docker-import.sh dump/.dump/data
20
- docker-import.sh dump/.dump/triggers
21
- docker-import.sh dump/.dump/privileges
22
- docker-import.sh dump/dump.after
23
-
24
- docker_temp_server_stop
File without changes
File without changes
File without changes