clickhouse-migrations 0.1.11 → 0.1.12

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.
package/README.md CHANGED
@@ -15,7 +15,7 @@ Create a directory, where migrations will be stored. It will be used as the valu
15
15
 
16
16
  In the directory, create migration files, which should be named like this: `1_some_text.sql`, `2_other_text.sql`, `10_more_test.sql`. What's important here is that the migration version number should come first, followed by an underscore (`_`), and then any text can follow. The version number should increase for every next migration. Please note that once a migration file has been applied to the database, it cannot be modified or removed.
17
17
 
18
- For migrations' content should be used correct SQL ClickHouse queries. Multiple queries can be used in a single migration file, and each query should be terminated with a semicolon (;). The queries could be idempotent - for example: `CREATE TABLE IF NOT EXISTS table ...;` Clickhouse settings, that can be included at the query level, can be added like `SET allow_experimental_object_type = 1;`. For adding comments should be used `--`, `# `, `#!` at the beginning of the line.
18
+ For migrations' content should be used correct SQL ClickHouse queries. Multiple queries can be used in a single migration file, and each query should be terminated with a semicolon (;). The queries could be idempotent - for example: `CREATE TABLE IF NOT EXISTS table ...;` Clickhouse settings, that can be included at the query level, can be added like `SET allow_experimental_object_type = 1;`. For adding comments should be used `--`, `# `, `#!`.
19
19
 
20
20
  If the database provided in the `--db` option (or in `CH_MIGRATIONS_DB`) doesn't exist, it will be created automatically.
21
21
 
package/lib/migrate.js CHANGED
@@ -300,7 +300,7 @@ var migration = function (migrations_home, host, username, password, db_name) {
300
300
  exports.migration = migration;
301
301
  var migrate = function () {
302
302
  var program = new commander_1.Command();
303
- program.name('clickhouse-migrations').description('ClickHouse migrations.').version('0.1.11');
303
+ program.name('clickhouse-migrations').description('ClickHouse migrations.').version('0.1.12');
304
304
  program
305
305
  .command('migrate')
306
306
  .description('Apply migrations.')
package/lib/sql-parse.js CHANGED
@@ -4,7 +4,8 @@ exports.sql_sets = exports.sql_queries = void 0;
4
4
  // Extract sql queries from migrations.
5
5
  var sql_queries = function (content) {
6
6
  var queries = content
7
- .replace(/^(--|#!|#\s|SET\s).*(\n|\r\n|\r|$)/gm, '')
7
+ .replace(/(--|#!|#\s).*(\n|\r\n|\r|$)/gm, '\n')
8
+ .replace(/^\s*(SET\s).*(\n|\r\n|\r|$)/gm, '')
8
9
  .replace(/(\n|\r\n|\r)/gm, ' ')
9
10
  .replace(/\s+/g, ' ')
10
11
  .split(';')
@@ -17,15 +18,31 @@ exports.sql_queries = sql_queries;
17
18
  var sql_sets = function (content) {
18
19
  var sets = {};
19
20
  var sets_arr = content
20
- .replace(/^(?!SET\s).*(\n|\r\n|\r|$)/gm, '')
21
- .replace(/^(SET\s)/gm, '')
21
+ .replace(/(--|#!|#\s).*(\n|\r\n|\r|$)/gm, '\n')
22
+ .replace(/^\s*(?!SET\s).*(\n|\r\n|\r|$)/gm, '')
23
+ .replace(/^\s*(SET\s)/gm, '')
22
24
  .replace(/(\n|\r\n|\r)/gm, ' ')
23
25
  .replace(/\s+/g, '')
24
26
  .split(';');
25
27
  sets_arr.forEach(function (set_full) {
26
28
  var set = set_full.split('=');
27
- sets[set[0]] = set[1];
29
+ if (set[0]) {
30
+ sets[set[0]] = set[1];
31
+ }
28
32
  });
29
33
  return sets;
30
34
  };
31
35
  exports.sql_sets = sql_sets;
36
+ // -- any
37
+ // SET allow_experimental_object_type = 1; --set option
38
+ // SET allow_experimental_object_new = 1;
39
+ // SELECT * FROM events
40
+ // sdfsfdsd
41
+ // -- asssss
42
+ // --asdf
43
+ // sdfsdf
44
+ // sdfsfs
45
+ // SET a=1
46
+ // asdf
47
+ // SET f=22
48
+ // sdf
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clickhouse-migrations",
3
- "version": "0.1.11",
3
+ "version": "0.1.12",
4
4
  "description": "ClickHouse Migrations",
5
5
  "bin": {
6
6
  "clickhouse-migrations": "lib/cli.js"
@@ -20,19 +20,19 @@
20
20
  "license": "MIT",
21
21
  "repository": "VVVi/clickhouse-migrations",
22
22
  "dependencies": {
23
- "@clickhouse/client": "^0.0.13",
23
+ "@clickhouse/client": "^0.0.14",
24
24
  "commander": "^10.0.0"
25
25
  },
26
26
  "devDependencies": {
27
- "@types/jest": "^29.4.1",
28
- "@types/node": "^18.15.3",
29
- "@typescript-eslint/parser": "^5.55.0",
30
- "@typescript-eslint/eslint-plugin": "^5.55.0",
27
+ "@types/jest": "^29.5.0",
28
+ "@types/node": "^18.15.11",
29
+ "@typescript-eslint/parser": "^5.57.0",
30
+ "@typescript-eslint/eslint-plugin": "^5.57.0",
31
31
  "eslint-plugin-prettier": "^4.2.1",
32
- "eslint": "^8.36.0",
33
- "eslint-config-prettier": "^8.7.0",
32
+ "eslint": "^8.37.0",
33
+ "eslint-config-prettier": "^8.8.0",
34
34
  "jest": "^29.5.0",
35
- "prettier": "^2.8.4",
35
+ "prettier": "^2.8.7",
36
36
  "ts-jest": "^29.0.5",
37
37
  "typescript": "^4.9.5"
38
38
  },