Commit Graph

538 Commits

Author SHA1 Message Date
Kali Vara Purushotham Santhati
b312ca1596 ci: check lint errors before building oss-cli and pro-cli
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2665
GitOrigin-RevId: dac1c8f7137ff4826a3155fb78c99fc1341a8583
2021-11-15 11:04:25 +00:00
hasura-bot
52efcc208d cli: allow specifying api hostname in console command
GITHUB_PR_NUMBER: 7519
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/7519

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2311
Co-authored-by: CJ Lazell <1819+cj@users.noreply.github.com>
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: f5f2eb2ebf0eaa9f67f0f924003e839108e4034f
2021-11-15 07:16:37 +00:00
hasura-bot
bc10d9eb1c cli: fix changelog hyperlink in the log message
GITHUB_PR_NUMBER: 6936
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/6936

closes https://github.com/hasura/graphql-engine/issues/6682

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/1365
Co-authored-by: pow-devops2020 <69558219+pow-devops2020@users.noreply.github.com>
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: fbf66ea7e4abe0be8684b8e6cc7361f14a6faea0
2021-11-11 10:56:16 +00:00
Kali Vara Purushotham Santhati
7d26e86fa1 cli: fix cli-console failing to add migrations if there are tabs in SQL body
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2822
Co-authored-by: Rikin Kachhia <54616969+rikinsk@users.noreply.github.com>
GitOrigin-RevId: 1036a177e81a24ac4d047b56aead42d297682c14
2021-11-10 12:36:35 +00:00
Aravind K P
97134b4d44 cli: defer validating plugins index and actions codegen repo
closes https://github.com/hasura/graphql-engine/issues/7695

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2647
GitOrigin-RevId: 675f8daa3a329f4159103178faf225e642acdb13
2021-11-10 09:22:06 +00:00
Rikin Kachhia
d98c83c3a9 cli: add example for --from-table specifying schema for seed create
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2797
GitOrigin-RevId: d53a2bae6ca304c7b4d85a1796bfde6192c24d7a
2021-11-08 13:32:09 +00:00
Tirumarai Selvan
1b43f0caaa tag release v2.1.0-beta.2
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2762
GitOrigin-RevId: 092e3fee604f9620198128a8c8aced434a20644e
2021-11-08 09:26:08 +00:00
Aravind K P
50d8448403 cli: fix actions transforms test
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2754
GitOrigin-RevId: 442ce3a279f598e175ab28223db3ccf68b20b706
2021-11-03 17:44:12 +00:00
Aravind K P
bea2855b88 cli: support request_transforms in actions metadata
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2738
GitOrigin-RevId: b125043dbb9321aa8319a6dcd6e1cd6a21f4dfe1
2021-11-03 06:38:48 +00:00
Tirumarai Selvan
bcb386e7fd tag release v2.0.10 (#2646)
Co-authored-by: Vishnu Bharathi <vishnubharathi04@gmail.com>
GitOrigin-RevId: d6a8802cf4db8f852bdabe92ffa81854fe594186
2021-10-20 09:55:17 +00:00
Kali Vara Purushotham Santhati
1e5a48286f cli: split remote schema permissions metadata into seperate files
closes https://github.com/hasura/graphql-engine/issues/7033

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/1877
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 3764db9102d41f67a43f76aa79d28eb5485579ca
2021-10-14 06:52:57 +00:00
Kali Vara Purushotham Santhati
94a3be3e6e cli: fix lint errors
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/1749
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 4515f7f2c58b7f28645b2c5a5d9842aa7a844eae
2021-10-13 14:39:15 +00:00
Vishnu Bharathi
5e77973ecd cli: use docker auth config to avoid docker rate limiting in CI
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2580
GitOrigin-RevId: 4365a93d14558e858d04794fd2affc88ffe6e821
2021-10-13 01:57:38 +00:00
Kali Vara Purushotham Santhati
e3fa6bee0a cli: improve error/log messages
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2513
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: bff6e5f6d3553904914eabda02d3406c4b779f3c
2021-10-08 16:10:31 +00:00
hasura-bot
744cf0233e cli: support absolute paths in --envfile
GITHUB_PR_NUMBER: 5768
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/5768
closes https://github.com/hasura/graphql-engine/issues/5689

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2545
Co-authored-by: cybai <6782666+CYBAI@users.noreply.github.com>
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 38eacaaa5541a7162b584f1df1376266853fe4bf
2021-10-08 14:44:48 +00:00
Kali Vara Purushotham Santhati
bcb0b99f8b cli: make --database-name optional in migrate subcommands when using a single database
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2428
GitOrigin-RevId: 2319408773b1c73bca6297c7b22dc3db82775953
2021-10-08 13:30:12 +00:00
Kali Vara Purushotham Santhati
f47095ff55 cli: init --endpoint intializes the project with metadata and migrations from HGE
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2409
Co-authored-by: Ajay Tripathi <24985760+atb00ker@users.noreply.github.com>
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 06bb3462ffe1604b80a4afde241568790aaa6704
2021-10-07 14:24:52 +00:00
Tirumarai Selvan
b0f723b201 tag release v2.1.0-beta.1
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2472
GitOrigin-RevId: b18f755b8db82ee6376d9af02495fe55cfd93aa8
2021-09-30 09:48:30 +00:00
Aravind K P
61e069ad8a cli: allow specifiying a "to" version on migrate squash command
closes https://github.com/hasura/graphql-engine/issues/7472

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2442
GitOrigin-RevId: d804d04e0b87fc33c25407ff3991f266b0d6a6aa
2021-09-29 17:47:25 +00:00
Aravind K P
186baa7915 cli: add support for metadata subcommands to work with json/yaml files
closes https://github.com/hasura/graphql-engine/issues/7542

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2445
GitOrigin-RevId: c0087fa475cf4b353f4af150629684d3b9e1f82f
2021-09-29 11:13:31 +00:00
hasura-bot
20f7c85382 cli: add deploy command (close #7349)
GITHUB_PR_NUMBER: 7426
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/7426

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2173
Co-authored-by: Ajay Tripathi <24985760+atb00ker@users.noreply.github.com>
Co-authored-by: Kali Vara Purushotham Santhati <72007599+purush7@users.noreply.github.com>
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 1030d24c9e6c7d0c7062b6f0e98f8464950529d3
2021-09-29 06:15:17 +00:00
Aravind K P
5011955f73 cli: support query_tags in metadata
closes https://github.com/hasura/graphql-engine-mono/issues/2261

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2347
GitOrigin-RevId: 30d461c0b70f4a4924496d9c3f53cb73a658093a
2021-09-28 17:05:48 +00:00
Kali Vara Purushotham Santhati
d87f7abd02 cli: throw user friendly errors when server is unreachable
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2369
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: af635612948822ae7ea9eb7b7b79d7d4f147e0e6
2021-09-27 14:53:44 +00:00
Vishnu Bharathi
2165736497 ci: complete the CLI pipeline in buildkite
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2437
GitOrigin-RevId: 0b3cd970be1e814df7d679979af6aa09d95c21cd
2021-09-27 13:35:04 +00:00
Aravind K P
566b441b12 cli: remove config v1 specific logic from migrate squash
https://github.com/hasura/graphql-engine-mono/pull/2381

Co-authored-by: Kali Vara Purushotham Santhati <72007599+purush7@users.noreply.github.com>
GitOrigin-RevId: 42db5ea7ecd46838b5f2b266beca48e5af040bb9
2021-09-24 12:06:11 +00:00
Kali Vara Purushotham Santhati
ffce0d266b cli: non zero exit code if any of the database migrations aren't applied
Issue: https://github.com/hasura/graphql-engine/issues/7499

Problem: cli doesn't exit if `migrate apply --all-databases` fail on 1 or more databases

Solution: Store the names of the databases for which it failed and return
```
operation failed on : <database1>,<database2>,etc
```

https://github.com/hasura/graphql-engine-mono/pull/2305

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
Co-authored-by: Vijay Prasanna <11921040+vijayprasanna13@users.noreply.github.com>
GitOrigin-RevId: 8a30bdcc24de8a204320b00e5ea9d593a6293ad4
2021-09-23 06:50:25 +00:00
Kali Vara Purushotham Santhati
40c3d08d4a cli: migrate apply progress bar improvements
https://github.com/hasura/graphql-engine-mono/pull/2356

GitOrigin-RevId: 181db6e14ffd08083a1ffc97bf2e0e578f3da0fc
2021-09-22 12:53:43 +00:00
Kali Vara Purushotham Santhati
24d9bbcd93 cli: apply the migration after creating for flag --from-server
Issue: https://github.com/hasura/graphql-engine/issues/7510

Problem:

- To mark the migration applied after creating the migration from the server with skip-execution flag

Solution:

After creating migration apply it with skip-execution true

https://github.com/hasura/graphql-engine-mono/pull/2333

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 72eca352b76afe3a19d2198169b31284e38af07a
2021-09-22 11:48:29 +00:00
Kali Vara Purushotham Santhati
4cf13762e2 cli: add support for network metadata object
Issue: https://github.com/hasura/graphql-engine/issues/7520

Problem: add support for network metadata object

Solution: add new network.yaml which consists of network metadata and in code add new network metadata object

Metadata.json
```
{
  "resource_version": 6,
  "metadata": {
    "version": 3,
    "sources": [
      {
        "name": "default",
        "kind": "postgres",
        "tables": [],
        "configuration": {
          "connection_info": {
            "use_prepared_statements": true,
            "database_url": {
              "from_env": "HASURA_GRAPHQL_DATABASE_URL"
            },
            "isolation_level": "read-committed",
            "pool_settings": {
              "connection_lifetime": 600,
              "retries": 1,
              "idle_timeout": 180,
              "max_connections": 50
            }
          }
        }
      }
    ],
    "network": {
      "tls_allowlist": [
        {
          "suffix": null,
          "permissions": [
            "self-signed"
          ],
          "host": "www.google.com"
        },
        {
          "suffix": null,
          "permissions": [
            "self-signed"
          ],
          "host": "play.golang.com"
        },
        {
          "suffix": null,
          "permissions": [
            "self-signed"
          ],
          "host": "hasura.io"
        }
      ]
    }
  }
}
```
network.yaml
```
tls_allowlist:
- suffix: null
  permissions:
  - self-signed
  host: www.google.com
- suffix: null
  permissions:
  - self-signed
  host: play.golang.com
- suffix: null
  permissions:
  - self-signed
  host: hasura.io

```

https://github.com/hasura/graphql-engine-mono/pull/2343

GitOrigin-RevId: ef508ae946dc5c7c5bcb4a9a3ccb982394ae8639
2021-09-22 08:12:46 +00:00
hasura-bot
b50c4aee1d cli: install v2.0.9 by default instead of v2.0.6
GITHUB_PR_NUMBER: 7575
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/7575

https://github.com/hasura/graphql-engine-mono/pull/2383

Co-authored-by: Tyler Breisacher <244381+MatrixFrog@users.noreply.github.com>
Co-authored-by: Vishnu Bharathi <4211715+scriptnull@users.noreply.github.com>
GitOrigin-RevId: afc8c5cc178e16deb89046d1df4d80fafea69147
2021-09-20 05:56:17 +00:00
Antoine Leblanc
e2ce1972f6 Prevent empty subscription roots (fix hasura/graphql-engine#6898)
### Description

We always build a subscription root, even when there was no possible fields. This breaks some third party clients, as the spec does not allow empty types in the schema. This PR fixes this by changing the `buildSubscriptionParser` helper to return a `Maybe` value, and harmonizes / cleans places where we build the subscription root.

https://github.com/hasura/graphql-engine-mono/pull/2357

GitOrigin-RevId: 1aeae25e321eee957e7645c436d17e69207309fd
2021-09-16 07:42:46 +00:00
Kali Vara Purushotham Santhati
54e0e0264b cli: make progress bar render properly on all emulators and add progress bar-logs flag to get logs on CI
Issue: https://github.com/hasura/graphql-engine/issues/4795

Problem:
- Hasura CLI displays many lines of progress bar logs in CI which is not needed by many users ( not needed as default behaviour)
- The progress bar won't render properly on all the terminal emulators

Solution:
 - [x] change the default behaviour of the progress bar to display it only in terminal mode
 - [x] add new flag `progressbar-logs` which sets the width of progress bar to render
 - [x] hard set the terminal value as true so that the return symbol will be carriage return

https://github.com/hasura/graphql-engine-mono/pull/2312

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 0efe141050d0804c679cec5fdf2ac4d49a16d78d
2021-09-14 14:28:52 +00:00
Vijay Prasanna
1afd38f887 console: add source attribute to make migration action
https://github.com/hasura/graphql-engine-mono/pull/2213

Co-authored-by: Kali Vara Purushotham Santhati <72007599+purush7@users.noreply.github.com>
GitOrigin-RevId: 3cf65f0062005d23aa264da744dc680417275add
2021-09-14 06:49:57 +00:00
hasura-bot
ff8e76d1b7 [Hasura CLI]: fix possible typo "depricated" to "deprecated"
GITHUB_PR_NUMBER: 7527
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/7527

https://github.com/hasura/graphql-engine-mono/pull/2320

Co-authored-by: José Moreira <3604053+cusspvz@users.noreply.github.com>
Co-authored-by: Kali Vara Purushotham Santhati <72007599+purush7@users.noreply.github.com>
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: df04785e2e6104352dc7e3c703e6116ab60cc093
2021-09-10 04:55:52 +00:00
Kali Vara Purushotham Santhati
58d0a1e29f cli: send error to telemetry
closes https://github.com/hasura/graphql-engine-mono/issues/2093

Problem:
 - [x] Send errors to telemetry
 - [x] send flags along with the command to telemetry

Solution:
 - Added Error field in the data struct and if there is an error then the error will get copied to the field
 - Use Visit fn in cobra for getting the flag names which are set and append the flag-names to command

https://github.com/hasura/graphql-engine-mono/pull/2298

GitOrigin-RevId: bd28c2e83e039a4eb8d7fe0d2b7646d0c982c91b
2021-09-08 08:56:54 +00:00
Kali Vara Purushotham Santhati
b75ab7233e cli: fix data-race warnings
#### Issue: https://github.com/hasura/graphql-engine-mono/issues/2179

### Problem:

1. There are few warnings when tests are executed with cli if it is built with `race` flag
It is because of a race condition between stdin in migrate_delete for the prompt and stdout for other commands.

2. The integration test of the console used to behave as follows:
    ```
     - Initially there won't be any wg.adds in wait-group so the second go-routine created in console-test (integration-test)
     - It will send the interrupt signal to the channel before the server has been started
     - So practically the server won't start
    ```
3. The read and write for consoleopts.WG has been happening in different go-routines without control or lock system(reading and writing into same memory location without lock system). So there is a chance of data-race(warning for data-race while integration tests are executed)
4. Data-race errors from `promptui` package

### Solution:

1. Use `--force` flag to avoid getting the input from the prompt in `migrate_delete_test.go`
2. Introduced two fields in server and console opts to let know other go-routines whether the server has been started or not
3. To avoid data-race above which are shared b/w go-routines to know the status of servers has been operated atomically.
4. using new package https://github.com/AlecAivazis/survey

https://github.com/hasura/graphql-engine-mono/pull/2231

GitOrigin-RevId: 387eb1be74f24dda34bb3588314b5a909adac227
2021-09-07 13:34:54 +00:00
Tirumarai Selvan
4cabb0bdf9 tag release v2.0.9
GitOrigin-RevId: dfba245a4dbe1a71b1e3cc7c92914fc0a919c2b0
2021-09-07 07:49:53 +00:00
Vishnu Bharathi
2329c16ce9 cli: embed cli-ext as exe in case of windows
https://github.com/hasura/graphql-engine-mono/pull/2295

Co-authored-by: Kali Vara Purushotham Santhati <72007599+purush7@users.noreply.github.com>
GitOrigin-RevId: 16a03d33d5bf4d45a71ba79b3b775fba3176a1e8
2021-09-07 06:01:00 +00:00
Kali Vara Purushotham Santhati
b50df8a24b cli: add progress bar to migrate apply
https://github.com/hasura/graphql-engine-mono/pull/1673

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 59b8258557b2769853d0ca64032f453780a3cd7e
2021-08-31 09:57:32 +00:00
Tirumarai Selvan
9d592fde87 tag release v2.0.8
GitOrigin-RevId: 7e2c6333183ebf763ff37bda114219f5e7bf0951
2021-08-30 12:43:41 +00:00
Aravind K P
39f5d04ba8 cli: optimize state copy
https://github.com/hasura/graphql-engine-mono/pull/2176

GitOrigin-RevId: 71f72704c3097ee05f3adca954b4c283701cf5e9
2021-08-26 06:09:55 +00:00
Kali Vara Purushotham Santhati
c6d47a7db3 cli: use server metadata as base for comparison in metadata diff
Reference: https://hasurahq.slack.com/archives/C024GF6FCTH/p1629193174042700

Problem: The `metadata diff` is conventional where it takes the project metadata and w.r.t to the signs `---`, `+++`, it shows the diff output but it is not similar to git diff as taking the remote repo as base and `+` denotes it has, `-` not. So make the metadata diff output follow as git diff output

Solution: To change the order of arguments in diff function and assign `---` to server,`+++` to project, so that it will be similar to prev diff output

https://github.com/hasura/graphql-engine-mono/pull/2166

GitOrigin-RevId: bf35b5a3ef835fc64f590b65160c01c9a8c1382a
2021-08-24 03:25:05 +00:00
Vishnu Bharathi
cf6f3edc1f tag release v2.0.7 (#2118)
GitOrigin-RevId: b86611a3393d2b8008b09c1d833d5b2c43f72aaf
2021-08-17 13:07:37 +00:00
Aravind K P
f2e74da5aa cli: improve cli package error propogation in migrate operations
https://github.com/hasura/graphql-engine-mono/pull/1887

GitOrigin-RevId: 40c7e1a16e8dd25a46e0c58afc7cbc9169af8f0b
2021-08-16 06:44:05 +00:00
Tirumarai Selvan
7b863a1b3b tag release v2.0.6
GitOrigin-RevId: b2b906cf7b05bc444148a334aba42385046be75c
2021-08-11 01:19:22 +00:00
Kali Vara Purushotham Santhati
4d7aa0e105 cli: fix query endpoint construction
closes https://github.com/hasura/graphql-engine/issues/7196

https://github.com/hasura/graphql-engine-mono/pull/2025

GitOrigin-RevId: ab7c765d4de710dd08f48dc1bfb94eb606ac5d3f
2021-08-09 08:41:16 +00:00
Tirumarai Selvan
553aecb5e5 tag release v2.0.5
GitOrigin-RevId: 8c98e9dba9fa655b5d7503211a5d3f42f641cef5
2021-08-05 07:35:10 +00:00
Divi
28788f4b0b cli: add VERSION env to pin cli version
https://github.com/hasura/graphql-engine-mono/pull/1845

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
Co-authored-by: Vishnu Bharathi <4211715+scriptnull@users.noreply.github.com>
GitOrigin-RevId: f12ab6ef5a3aa1ee5181f5ddbf16f7232ef2874e
2021-07-29 09:21:57 +00:00
Divi
80846d36b7 cli: add support for query_tags metadata object
- add support for query_tags metadata object
- fix filename for cron_triggers metadata object

https://github.com/hasura/graphql-engine-mono/pull/1901

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: d9266d723f06d11d92f156f70660e0122412e41a
2021-07-29 07:22:25 +00:00
Kali Vara Purushotham Santhati
ca567bf8cb cli: enhance e2e tests
- actions use-codegen
    - Assert if starter kit files are created
- metadata apply
    - Assert server metadata after apply
    - assert that --dry-run flag will not modify metadata on server
- metadata clear
    - Assert with server metadata that operation was successful.
- metadata inconsistency drop
    - Assert with server metadata that operation was successful.
- metadata inconsistency status
    - Assert for all possible states
- metadata reload
    - Assert effect of operation with server
- migrate and seed subcommands
    - Add tests for MSSQL sources
    - Structure tests in such a way that it’s easy to add tests for new sources

https://github.com/hasura/graphql-engine-mono/pull/1693

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: fcdbb806d105978a07487a40f7fa6e16b3ab8816
2021-07-28 06:45:03 +00:00
Aravind K P
33d6025a20 cli: refactor metadata object interface
https://github.com/hasura/graphql-engine-mono/pull/1618

GitOrigin-RevId: f4559de4852f247de35604be3808f05fe5ed341a
2021-07-23 09:50:36 +00:00
Kali Vara Purushotham Santhati
2aeb6ad0b1 cli: use absolute path of project directory
closes https://github.com/hasura/graphql-engine/issues/7089
closes https://github.com/hasura/graphql-engine/issues/6499

https://github.com/hasura/graphql-engine-mono/pull/1717

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 74209e249c692d01f2bd849181c8a2ef46493e74
2021-07-16 12:59:04 +00:00
Divi
4ed8ba8bb3 cli: fix inconsistent metadata object list rendering
closes https://github.com/hasura/graphql-engine/issues/7202

https://github.com/hasura/graphql-engine-mono/pull/1781

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: bcbdf74773aa8f653ebe62c5bf00bcbda1aa51ee
2021-07-16 05:26:47 +00:00
Vishnu Bharathi
8a6f3f7e9d cli: support ARM architecture
https://github.com/hasura/graphql-engine-mono/pull/1534

GitOrigin-RevId: 67723bb64e2505c665b04b5b0d691e5599843f87
2021-07-14 08:54:43 +00:00
Aravind K P
e99c012af6 cli: expose method to get iconsistent metadata objects
https://github.com/hasura/graphql-engine-mono/pull/1725

GitOrigin-RevId: 68c64369dcc950def19bf773ab1bc95226ebcdd4
2021-07-06 09:37:28 +00:00
hasura-bot
621029b4ed cli: make cli-ext to be usable in the cli library
GITHUB_PR_NUMBER: 7099
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/7099

https://github.com/hasura/graphql-engine-mono/pull/1632

Co-authored-by: Vishnu Bharathi <4211715+scriptnull@users.noreply.github.com>
GitOrigin-RevId: 610215142cadfab76fd8368c28a125f46da5e759
2021-06-27 13:50:20 +00:00
Aravind K P
be7a100ebf cli: set default value for metadata_directory
https://github.com/hasura/graphql-engine-mono/pull/1630

GitOrigin-RevId: bb18133041739d30f5b270c3f64aeb680e47c2cd
2021-06-23 06:34:19 +00:00
Kali Vara Purushotham Santhati
59679babfa cli: add server flag to migrate delete and modify the docs for resetting migrations
https://github.com/hasura/graphql-engine-mono/pull/1540

Co-authored-by: Rikin Kachhia <54616969+rikinsk@users.noreply.github.com>
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 8aceb35c583d20b7dc7b16f257e20c83171008a2
2021-06-22 11:16:14 +00:00
hasura-bot
e640000a09 cli: skip compression for macos x64 binary
GITHUB_PR_NUMBER: 7096
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/7096

https://github.com/hasura/graphql-engine-mono/pull/1628

Co-authored-by: Vishnu Bharathi <4211715+scriptnull@users.noreply.github.com>
GitOrigin-RevId: 7234dc7d6bb4f4f62437a77824ce7904d3029f24
2021-06-22 08:05:16 +00:00
Kali Vara Purushotham Santhati
a924720a3a cli: add skip-execution support for up and down flags in migrate apply
https://github.com/hasura/graphql-engine-mono/pull/1510

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 9f7b271bda08ecd156a6220e830063bbb36a4b36
2021-06-21 15:57:41 +00:00
Aravind K P
4517478ccc cli: add support for citus sources
https://github.com/hasura/graphql-engine-mono/pull/1247

GitOrigin-RevId: 8383a37f71a4d45fe01c002eb229102f0dd38e9a
2021-06-21 14:35:00 +00:00
Kali Vara Purushotham Santhati
fbbd423d8b cli: migrate create gives warning if database isn't connected to server
https://github.com/hasura/graphql-engine-mono/pull/1518

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: a9e836545922719bcbd6e8c9c027df6056d23cef
2021-06-21 13:55:09 +00:00
Aravind K P
acb69dc88c cli: enrich errors in metadata subcommands
closes https://github.com/hasura/graphql-engine/issues/7020

https://github.com/hasura/graphql-engine-mono/pull/1511

GitOrigin-RevId: 3b7ec9e9dd00e904ecb2dd8fafe42f8078962aac
2021-06-18 17:39:26 +00:00
Vishnu Bharathi
ee2c9cd4ad cli: avoid race condition in cli-ext
https://github.com/hasura/graphql-engine-mono/pull/1610

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 87972a8a9c94252aa17a1f2304c048f66f6bdf2d
2021-06-18 16:14:27 +00:00
Aravind K P
c7ac1ede3f cli: add migrate and metadata packages
>

### Description
>
This PR adds two new packages which implement the CLI requirements specified in RFC:https://github.com/hasura/lux/blob/cloud/docs/rfcs/20210614_github_integration.md

1. `pkg/metadata`

![image](https://user-images.githubusercontent.com/8335904/122384828-b4757d80-cf89-11eb-9e21-ef116fb928e9.png)

2. `pkg/migrate`

![image](https://user-images.githubusercontent.com/8335904/122510554-68771700-d023-11eb-9f5d-046d2c0cf18a.png)

### Changelog

- [x] `CHANGELOG.md` is updated with user-facing content relevant to this PR. If no changelog is required, then add the `no-changelog-required` label.

### Affected components

- [x] CLI

https://github.com/hasura/graphql-engine-mono/pull/1598

GitOrigin-RevId: 0e2bce498386c5aae68dbca0fe383a6afff9d1a9
2021-06-18 06:25:14 +00:00
Kali Vara Purushotham Santhati
a70e6089c8 cli: show only differences in metadata on metadata diff
https://github.com/hasura/graphql-engine-mono/pull/461

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 626bdfd8d1d05996153cd9676f1695ea796b00d9
2021-06-17 10:16:17 +00:00
Solomon Bothwell
99e7e3b7b4 Implement refresh parameter for Cached Directive
https://github.com/hasura/graphql-engine-mono/pull/1523

Co-authored-by: Phil Freeman <630306+paf31@users.noreply.github.com>
GitOrigin-RevId: f83b73d23db15efdd19a61eca35badc3ff235779
2021-06-17 06:28:45 +00:00
Aravind K P
3136ffad1b cli: update go.mod
>

### Description
Update `go.mod` to allow other packages to import [v2.0.0 versions](https://blog.golang.org/v2-go-modules).

### Changelog

- [x] `CHANGELOG.md` is updated with user-facing content relevant to this PR. If no changelog is required, then add the `no-changelog-required` label.

### Affected components

- [x] CLI

https://github.com/hasura/graphql-engine-mono/pull/1584

GitOrigin-RevId: a5d17ad20289d1cd7217763f56ef3ba6552d69c4
2021-06-16 11:45:07 +00:00
Kali Vara Purushotham Santhati
0ce7769603 cli: generate migrations for mssql databases in hasura console mode
closes https://github.com/hasura/graphql-engine/issues/7011

https://github.com/hasura/graphql-engine-mono/pull/1527

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: c03af1b9c4221263a5e23a41bb710010fe82c018
2021-06-15 06:30:36 +00:00
Aravind K P
c1fd8beeef Revert "cli: add exclude-schema & full flags to migrate create command (#1564)" (#1566)
This reverts commit b4441cbde667c66f3ae203d752d6b33a0833f34e.

GitOrigin-RevId: 33ddf5c3d94e888497eb909ccb18d35bb5614ea2
2021-06-14 12:28:34 +00:00
hasura-bot
6e5186475c cli: add exclude-schema & full flags to migrate create command (#1564)
GITHUB_PR_NUMBER: 5713
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/5713

https://github.com/hasura/graphql-engine-mono/pull/1564

Co-authored-by: Sameer Kolhar <6604943+kolharsam@users.noreply.github.com>
Co-authored-by: Kali Vara Purushotham Santhati <72007599+purush7@users.noreply.github.com>
GitOrigin-RevId: b4441cbde667c66f3ae203d752d6b33a0833f34e
2021-06-14 12:11:31 +00:00
Kali Vara Purushotham Santhati
8bfc56b7c4 cli: remove the unnecessary empty lines in actions.graphql generated by metadata export command
closes https://github.com/hasura/graphql-engine/issues/5338

GitOrigin-RevId: 83bd8492beb9f52c761d5857ca369425c69691a4
2021-06-09 10:46:05 +00:00
Vishnu Bharathi
4b76289d03 cli: add interactive prompt to get input when --database-name flag is missing
GitOrigin-RevId: f92478d0ca6a4f6d0cfaa7aca3b4bb8a215a5cad
2021-06-09 07:13:46 +00:00
Kali Vara Purushotham Santhati
7ab5dd4265 cli: use go:embed to embed console static assets
GitOrigin-RevId: 3bb86dec853ebfdacd049b9424dd58c51c930cb7
2021-06-04 07:28:22 +00:00
Aravind K P
d8198a8bad cli,ci: testsuite enhancements
- remove `HASURA_TEST_CLI_HGE_DOCKER_TAG` & `HASURA_TEST_CLI_HGE_DOCKER_REPO` env variables
- add `HASURA_TEST_CLI_HGE_DOCKER_IMAGE` environment variable to configure hge image used in tests
- add template test project directories
- add helper functions to manipulate the template projects in individual tests
- add config v2 tests

Co-authored-by: Kali Vara Purushotham Santhati <72007599+purush7@users.noreply.github.com>
GitOrigin-RevId: 009a74c042861ff0a8dec2b06002e55de3a8a629
2021-06-03 13:27:24 +00:00
Aravind K P
757327d94c cli: use stdout logger in version command
closes https://github.com/hasura/graphql-engine/issues/6998

GitOrigin-RevId: 202eecc6085970aa5433e652cfafd34195252dbf
2021-05-31 04:13:34 +00:00
Aravind K P
ea6a2c9a14 cli: config v3 update script improvements
GitOrigin-RevId: cbd80af1334916e6d5af54a925a14b3849034646
2021-05-28 06:05:33 +00:00
Aravind K P
8ebf5eef2b cli: disable reading metadata from pipe
closes https://github.com/hasura/graphql-engine/issues/6987

GitOrigin-RevId: f12b7475055d2f9767a6dd20eee531042bdbcbc5
2021-05-27 14:17:25 +00:00
hasura-bot
2a24947e57 🐛 [3897] Squash fails when down/metadown empty (close #3897)
GITHUB_PR_NUMBER: 6934
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/6934

Co-authored-by: Appréderisse Benjamin <8669741+bappr@users.noreply.github.com>
Co-authored-by: Vishnu Bharathi <4211715+scriptnull@users.noreply.github.com>
GitOrigin-RevId: 13c7bcdcac9e2bcb659734e0e91d676525f8adcc
2021-05-24 06:05:54 +00:00
Kali Vara Purushotham Santhati
5e92ce028e cli: migrate delete command, update migration state on server after squash
It contains 2 flags

all   -  To delete all migrations locally and on database
version - To delete a single migration locally and on database

Usage :
`hasura migrate delete --all`
`hasura migrate delete --version <version_number>`

Additional fix :
The `migrate squash`  will deletes the migration history on server after squashing if user opts to delete the migrations.

closes https://github.com/hasura/graphql-engine-mono/issues/292
closes https://github.com/hasura/graphql-engine/issues/5373
closes https://github.com/hasura/graphql-engine/issues/6434

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: fa7ceae7a1970d6724fb601a147900e880ad2e6f
2021-05-24 02:34:33 +00:00
Antoine Leblanc
60a119ae22 server: also collect types from directives into the schema
GitOrigin-RevId: 0736570fd8781e66d558bde313d26ad62f7cf6ca
2021-05-21 04:55:32 +00:00
Antoine Leblanc
5238bb8011 server: support for custom directives
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: f11b3b2e964af4860c3bb0fd9efec6be54c2e88b
2021-05-20 10:03:50 +00:00
Vishnu Bharathi
9e3f5a9f01 cli: validate pro plugin version
GitOrigin-RevId: 2bcb64256b357d07d0f06d8347260c649bfcc132
2021-05-20 09:14:29 +00:00
Kali Vara Purushotham Santhati
5884b8d17c cli: fix cli compatibility check message
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 6e0fe655f45e60610e61a39a0bfb9d61d676945d
2021-05-19 09:32:33 +00:00
Abby Sassel
3ba5d1e540 server: include more detail in inconsistent metadata error messages (fix #6684)
GitOrigin-RevId: 1a0d8fa2b465320e9ab4ea43259d0e8d92364473
2021-05-19 05:02:53 +00:00
Kali Vara Purushotham Santhati
8edd3f03a5 cli: using forward slash as filepath separator irrespective of os.
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 6ad93a11830868a05a1c02333d482a2978b704c2
2021-05-19 03:36:23 +00:00
Vishnu Bharathi
b408b04e33 cli: allow space in database name
GitOrigin-RevId: 470bcc6926c19998b2d30787f1ea4649c35bfa41
2021-05-18 10:49:05 +00:00
Aravind K P
9dfed5da57 cli: fix applying migrations in a different environment after config v3 update
GitOrigin-RevId: 2f5d554dba50da1d45ea9689afca07f4d0f2c1e5
2021-05-17 15:20:08 +00:00
Vishnu Bharathi
6d340b58c6 cli: adds support for graphql_schema_introspection metadata object
GitOrigin-RevId: a0c372bfa7ee0620bdd80d110da4b1e85e45f73f
2021-05-17 04:53:34 +00:00
Vishnu Bharathi
ebc01c2378 cli, ci: enables docker based tests
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: d7a53e512d296bdd4b2119bb1d0b89e30da7d476
2021-05-17 00:30:08 +00:00
Kali Vara Purushotham Santhati
489835eb36 cli: metadata apply,export enhancements
- modified the `dry-run` flag of metadata apply command.
- added new flag `o` which takes "json" or "yaml" as parameters for metadata apply command.
- added new flag `o` which takes "json" or "yaml" as parameters for metadata export command. It outputs the metadata from server to stdout in form of  json or yaml and won't change the project's metadata.
- added deprecation warnings for `--from-file` flag
- added info message for describing change of behavior of `--dry-run` flag
- v3 metadata objects like `rest_endpoints` was also added to list of metadata objects in config v2 (fix)
- the order in which metadata objects are appended to metadata objects list matter when using `--dry-run` flag, refactored this order to match server metadata.
- `metadata apply` command can now accept json/yaml metadata from io pipe
- config v3 `metadata apply` didn't show any information to user when applied metadata is inconsistent, this is addressed.
- removed `github.com/ghodss/yaml` dependency from repo
- version metadata object was added twice during intialization (fix)

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 2316f519eb40645efd86ffee2a85d3c90543ec17
2021-05-14 19:09:59 +00:00
hasura-bot
62f69a428a Fix typo in debug logs
GITHUB_PR_NUMBER: 6882
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/6882

Co-authored-by: Carl Patenaude-Poulin <1834919+lilred@users.noreply.github.com>
GitOrigin-RevId: 84188e6cc070de5d534d910b8932b16c355e63cf
2021-05-11 06:49:28 +00:00
hasura-bot
20694a96f0 Minor grammar tweak on init command errors (exist -> exists)
GITHUB_PR_NUMBER: 6624
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/6624

Co-authored-by: Zack Amiton <20943979+Nathansbud@users.noreply.github.com>
GitOrigin-RevId: e30d2187a980b7622a6e68c32608b68f2ccdd491
2021-05-04 16:36:50 +00:00
Aravind K P
eeafc06288 cli: update console assets buckets selection
GitOrigin-RevId: 524b4612cf059315fc3a6466857994b8909d5d67
2021-05-04 12:00:12 +00:00
Aravind K P
2d88c4554c cli: on m1 macs use darwin/amd64 builds in installation script
GitOrigin-RevId: 51078adaab957296c4efa9973f19daa9dec570b2
2021-05-03 08:00:44 +00:00
Karthikeyan Chinnakonda
aca8964fdc server: make postgres related ENV vars source specific
Co-authored-by: Tirumarai Selvan <8663570+tirumaraiselvan@users.noreply.github.com>
Co-authored-by: Vishnu Bharathi <4211715+scriptnull@users.noreply.github.com>
GitOrigin-RevId: 8ec3db00f00e9c28bf2dc0f47bd312a656c61a69
2021-04-28 16:50:14 +00:00
Aravind K P
cc24e50515 cli: support api_limits in metadata
GitOrigin-RevId: e0d2e30bb2775f761232218aa67cf3781df3e49a
2021-04-21 10:10:08 +00:00
Aravind K P
054a41d93d cli: (regression) fix behaviour of metadata apply --dry-run flag
GitOrigin-RevId: e1f61866f78bbf8b255852c9b9390f02220f5b6b
2021-04-21 08:22:47 +00:00
Aravind K P
226a0975e3 cli: misc fixes
GitOrigin-RevId: b7bd99795ea1732dcb3bddf45985cd1dc04fbbea
2021-04-21 07:27:21 +00:00
Aravind K P
7638d1832a cli: add support for bigquery
GitOrigin-RevId: 8d479cbd056ee839b11ae24557085573b3e5b5ba
2021-04-19 07:06:18 +00:00
Aravind K P
8bc7c2089c cli: fix errors being ignored on metadata apply
GitOrigin-RevId: 1f526c70f57082aa968ebc3d957c78613e9a399e
2021-04-16 11:51:48 +00:00
Rakesh Emmadi
f7c37b007a server: use_prepared_statements option in add_pg_source metadata API
GitOrigin-RevId: 7b5af6d1cafc0b95fc86354293b3c3a4669e8bd2
2021-04-14 17:52:17 +00:00
Kali Vara Purushotham Santhati
9340a5b1cd cli: e2e tests for actions and seeds commands
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 9371c94b55cb375246784e53029fdece7db2fb58
2021-04-13 08:23:57 +00:00
Kali Vara Purushotham Santhati
214e5363a6 cli: separate action operations from migrate driver
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 166de18b2ca3fd83ad6c0f471e0af2c8f22206d0
2021-04-12 17:28:32 +00:00
Kali Vara Purushotham Santhati
379b812674 cli: add e2e tests for metadata and migrate commands
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: d63e0452fdb97a8f6c4e921467fc2a1de50639a1
2021-04-05 14:01:35 +00:00
Aravind K P
7f420ad1ae cli: add --all--databases flag on migrate apply
GitOrigin-RevId: 87a8b4250abad349153d1af73917859bd8f2a31a
2021-04-01 12:59:20 +00:00
Aravind K P
cc3539415b cli: fix seeds incorrectly being applied to databases
GitOrigin-RevId: cce2612ddfd90d1fd10a0a3561d24c64569a6935
2021-04-01 10:39:53 +00:00
Kali Vara Purushotham Santhati
b875d95a75 cli: separate the metadata operations from migrate driver
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 8f6791d5fd51d011623361ac2f5994c8badb50bf
2021-04-01 05:14:17 +00:00
Vishnu Bharathi
6631f79aee ci, cli: fix cli to have clean version
GitOrigin-RevId: 4ffb2657b455ee08e68e5c57dd2d5c6b411ece5e
2021-03-26 02:53:16 +00:00
Aravind K P
d4921549cf cli: match project metadata key ordering with server metadata
GitOrigin-RevId: 3052dd7cf8a066ac4378a48641935ed98fe0657f
2021-03-19 07:38:48 +00:00
Aravind K P
a9e78b267f cli: fix issue with adding operation to allow list in console mode
GitOrigin-RevId: 6f5d1e4e103e3a219bbfe1fb1ff213aa9e3fd521
2021-03-18 06:11:56 +00:00
hasura-bot
2099208e4b cli: merges cli-ext with cli
GITHUB_PR_NUMBER: 6640
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/6640

Co-authored-by: Vishnu Bharathi <4211715+scriptnull@users.noreply.github.com>
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 362d82d8ee18afd7efa63e9c8912f6c5444f82dd
2021-03-17 15:10:03 +00:00
Kali Vara Purushotham Santhati
c3e60aba28 cli: update cli help texts and docs generation
Co-authored-by: Rikin Kachhia <54616969+rikinsk@users.noreply.github.com>
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: b6909583093baac4a69296721feae149ca6a0605
2021-03-15 15:41:54 +00:00
Aravind K P
4abc2061fe cli: support inherited roles in metadata
GitOrigin-RevId: f70f199e8ef5c9b859250673bcb7de766400748c
2021-03-09 20:21:03 +00:00
Aravind K P
ae92ac4941 cli: rename flag --database to --database-name
GitOrigin-RevId: 37fb8dd4f82c2b68f87013e5ec87d5b2dab8853f
2021-03-09 06:44:37 +00:00
Aravind K P
d18e172662 cli: allow relative paths in !include directives
GitOrigin-RevId: c4928e8a1e8918b1a24774ccafbcc5839574f5d7
2021-03-09 05:57:45 +00:00
Aravind K P
f6ca551df4 cli: support mssql sources
GitOrigin-RevId: 4b1a63c8dc342ae4001b16c4b1dce282092d5c6f
2021-03-08 12:00:34 +00:00
Kali Vara Purushotham Santhati
34b611ae43 cli: fix extension of generated seeds file
close https://github.com/hasura/graphql-engine/issues/6422

GitOrigin-RevId: 2cbf4a64598e7ef8866cedb46686a8ec4642a63d
2021-03-08 08:30:17 +00:00
Aravind K P
3bfa6834a8 cli: add precondition checks for config v3 update command
GitOrigin-RevId: 62f786ea8fc8d14deb0e78bbbdc2467b7a4e0e9e
2021-03-08 06:58:49 +00:00
Kali Vara Purushotham Santhati
6d04f587b4 cli: follow symlinks in migrations directory
GitOrigin-RevId: 66840f2b087be3c7660115c5e7158574997f0292
2021-03-05 17:14:17 +00:00
Kali Vara Purushotham Santhati
f998fc089e cli: add API docs
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 1cbcba2d458d82814703682c63b1f0f7bf6226bc
2021-03-05 11:57:55 +00:00
Rakesh Emmadi
edf5a0661e server: support mssql views
GitOrigin-RevId: 50e2fc1d64a67a9284ae62d2401ca6f9627ebdab
2021-03-05 10:53:38 +00:00
Aravind K P
c8e08e2804 cli: support rest endpoints
GitOrigin-RevId: cd32497fb751489d9b17e91e30e18772f7fa07ec
2021-03-05 03:22:59 +00:00
Praveen Durairaju
0ff26100bf update docs link to avoid redirects
GitOrigin-RevId: 1f2a1d21bfb9b2908d56305fa2dfb69270deafdf
2021-03-01 18:51:18 +00:00
hasura-bot
8ab4213020 cli: fix minor typo
GITHUB_PR_NUMBER: 6574
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/6574

Co-authored-by: Samuel Ainsworth <226872+samuela@users.noreply.github.com>
GitOrigin-RevId: f62f046d9b3756d1bd64ee9ffeb1e047ebd159b9
2021-02-22 13:26:24 +00:00
Aravind K P
fe0d85804a cli: fix tls config of api client
GitOrigin-RevId: 5fb26450aae3062b0b96093e7884f6277ed846f0
2021-02-22 12:43:11 +00:00
Aravind K P
c7657dc2b0 cli: fix path of sources metadata plugin on init
GitOrigin-RevId: 23c93c1d89bd54878b8680851275362f651c9e48
2021-02-19 06:06:34 +00:00
Aravind K P
c86e9392b9 cli: remove outdated/unused config values
GitOrigin-RevId: 846553eeb468164d5134bc702747fe986b165c5b
2021-02-18 13:16:40 +00:00
hasura-bot
4c7599566d cli: remove metadata.yaml from migrations directory after update-config-v2 script (fixes #6112)
GITHUB_PR_NUMBER: 6121
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/6121

Co-authored-by: Kali Vara Purushotham Santhati <72007599+purush7@users.noreply.github.com>
GitOrigin-RevId: 79836c5fa0c325f0b74d97b24616476c3a56df79
2021-02-18 10:48:34 +00:00
Aravind K P
8996bcf70d cli: use v2 replace_metadata in config v3
GitOrigin-RevId: b0263799a17052195ebf295516c3105c5c80ce74
2021-02-18 05:37:46 +00:00
Aravind K P
cb029c317b cli: refactor datasource -> database
GitOrigin-RevId: 89bb1fbac0848d833678e33e98b5d558917c13ea
2021-02-17 12:52:37 +00:00
Aravind K P
e514ea70ee cli: add api middleware to check if project update is required
GitOrigin-RevId: 0ced06bc71ae2dd8c26bb98082a939d6b3e7c613
2021-02-17 11:16:22 +00:00
Aravind K P
a0995d1b30 cli: add client package, statestore implementations, deprecate config v1
GitOrigin-RevId: 5a1d9cb772ac62603f2543bfe6c01a95c0a035c6
2021-02-17 04:21:11 +00:00
Aravind K P
8ec92cc198 cli: config v3 project metadata directory
GitOrigin-RevId: c2dce9ca1f37688eecb7eb78c97944ac96d81d54
2021-02-16 06:26:24 +00:00
Aravind K P
3d5b30ce01 cli: fix metadata export behavior of config v2 with a v3 metadata server
GitOrigin-RevId: 76d1d01cee55f950cba3184dd57655c922a8d011
2021-02-15 15:15:44 +00:00
Aleksandra Sikora
b4fd2e3f9f console and cli: run console in CLI mode for tests, misc CLI fixes (#368)
GitOrigin-RevId: 4563444387a4c9d02b5429729fe30bc87763288f
2021-01-20 20:18:44 +00:00
Aleksandra Sikora
e2c274570f cli: add Hasura-Internal-Request-Source to allowed headers
GitOrigin-RevId: 19e96852b02066ab6119e2cded21ce9518d4c1a0
2021-01-20 13:55:34 +00:00
hasura-bot
a398d3b190 cli: support datasources
GITHUB_PR_NUMBER: 6111
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/6111

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 1f6517acfacb58c566bb5e48f74ea0dfa5c6f063
2021-01-18 17:12:09 +00:00
Kali Vara Purushotham Santhati
7cefefabd1 support for set table customization
squash support for set table customization

closes #153

GitOrigin-RevId: c4720e526c6415191c790615144f5de377c635f3
2020-12-28 05:37:36 +00:00
hasura-bot
a18cd6b1bc cli: fix action timeout not being picked up in metadata operations (close #6220)
GITHUB_PR_NUMBER: 6354
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/6354

Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 9869712d496d8e0733f9b25d44962e9a978ebc24
2020-12-24 05:07:26 +00:00
Kali Vara Purushotham Santhati
2acad94fb1 cli: misc fixes
GitOrigin-RevId: 9aa0d4b162dc41869bbc5d77cdba727e9f3becb9
2020-11-24 06:12:24 +00:00
hasura-bot
2f7f2eb32d cli: force update local plugin index (close #6219) (#70)
Co-authored-by: scriptonist <aravindkp@hasura.io>
GITHUB_PR_NUMBER: 6231
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/6231

Co-authored-by: scriptonist <aravindkp@hasura.io>
GitOrigin-RevId: c34d88b64fe8ad34ae23692a6513f1e7ca7c571a
2020-11-20 07:59:58 +00:00
Robert
1477ada1bb cli: update promptui dependency (#51)
* gofmt

* cli: Update promptui to v0.8.0

This is in order to avoid the dependency on the abandoned
kingping.v3-unstable, which was causing dependency conflicts
compiling the pro/cli securelink code.

GitOrigin-RevId: 1264a86ca31b15b2a48c375cd123977084ac558e
2020-11-18 13:36:24 +00:00
Vishnu Bharathi P
58c44f55dd Merge oss/master onto mono/main
GitOrigin-RevId: 1c8c4d60e033c8a0bc8b2beed24c5bceb7d4bcc8
2020-11-12 22:37:19 +05:30
Vishnu Bharathi P
666058ab7f oss: renames dot files and folders
GitOrigin-RevId: 540aeec3be091e1cfb7b05a988f50445534ed663
2020-11-12 22:37:19 +05:30
Saran Balaji
b5db6c2019
cli: fix lint errors in scripts_update_config_v2.go (#5983)
https://github.com/hasura/graphql-engine/pull/5983
2020-11-07 10:07:53 +00:00
Aravind K P
4e4e3f3fd3
cli (cli-migrations image): fix problems running cli-migrations-v2 image as a non root user (close #4651 close #5333) (#5306)
https://github.com/hasura/graphql-engine/pull/5306
2020-11-06 14:09:53 +00:00
Aravind K P
01c4cd2ff3
cli: do not clear metadata during metadata apply (close #6115) (#6119)
https://github.com/hasura/graphql-engine/pull/6119
2020-11-06 08:51:10 +00:00
Brian Pedersen
d2d0a05901
cli: fix lint errors in migrate/cmd/commands.go (#5946)
https://github.com/hasura/graphql-engine/pull/5946
2020-10-30 09:12:18 +00:00
Amarnath Karthi
d6d0b99a3c
cli: fix lint errors for /ci/migrate/util.go (#5912)
https://github.com/hasura/graphql-engine/pull/5912
2020-10-29 07:08:12 +00:00
Ayan Banerjee
fd36bd1492
cli: fix lint issues for v2/integration_test/seeds.go (#5954)
https://github.com/hasura/graphql-engine/pull/5954
2020-10-29 06:13:53 +00:00
Vladyslav Nekriach
989832cfb5
fix linting in cli/source/stub/stub_test.go (#5972)
https://github.com/hasura/graphql-engine/pull/5972
2020-10-29 05:42:05 +00:00
Daniel Shuy
c5ca59208e
cli: fix lint errors in cli/commands/init.go (#5943)
https://github.com/hasura/graphql-engine/pull/5943
2020-10-29 05:09:36 +00:00
Panagiotis Vasilopoulos
ebe6990c45
cli: fixed lint error (#5877)
https://github.com/hasura/graphql-engine/pull/5877
2020-10-28 04:18:48 +00:00
Sam Radhakrishnan
ee940b4a84
cli: fix linter errors (#5870)
https://github.com/hasura/graphql-engine/pull/5870
2020-10-22 08:08:14 +00:00
Arun Mathew
ebc3e15198
cli: fix lint errors in metadata/actions/actions.go (#5910)
https://github.com/hasura/graphql-engine/pull/5910
2020-10-22 07:36:37 +00:00
Yash Saravgi
72b1d01ca7
cli: fix lint error in commands\docs.go (#5929)
https://github.com/hasura/graphql-engine/pull/5929
2020-10-22 07:05:32 +00:00
Aditya Vats
9332521f95
cli: fix lint errors in cli/util/git.go (fix #5831) (#5932)
https://github.com/hasura/graphql-engine/pull/5932
2020-10-22 06:35:05 +00:00
Ahmed Kamal
d3abb474e5
cli: change 'hasura seeds' to 'hasura seed' with 'seeds' as alias (#5693)
https://github.com/hasura/graphql-engine/pull/5693
2020-10-07 09:26:30 +00:00
Nuno Pato
c348ea7a9d
cli: allow for schema specification when using hasura seeds create (close #5711) (#5710)
https://github.com/hasura/graphql-engine/pull/5710
2020-10-01 13:05:36 +00:00
Marion Schleifer
2358f6bbae
cli/docs: add missing global flags for seeds command and add new cli commands to docs (#5565) 2020-08-18 17:59:58 +05:30
slimlime
684c25b14b
docs: update bash_completion directory typo (#5418) 2020-08-18 10:12:58 +02:00
Sameer Kolhar
963e1106dc
cli: fix error while creating seed file from table names having upper case alphabets (#5549) 2020-08-10 11:28:03 +05:30
Aravind
2592236858
cli: improve error messages for metadata apply (close #5513) (#5548) 2020-08-10 10:54:00 +05:30
Aravind
96f6bdd531
cli: support squashing actions in config v1 (#5249) 2020-07-27 07:15:43 +05:30
Aravind
2e5e59bd00
cli: handle failed update checks gracefully (close #5392) (#5403) 2020-07-27 07:15:08 +05:30
Aravind
cd0e2ec8e8
cli: fix permission issues when creating symlinks on windows, misc fix (close #5111, close #4879) (#5164) 2020-07-03 09:49:09 +05:30
Darío Javier Cravero
f6d111ccd9
cli: allow setting the release to get in cli/get.sh (#4348) 2020-06-25 17:56:53 +02:00
Aravind
1aa05624a8
cli: support squashing migrations with cron triggers (squash V1) (#5165) 2020-06-24 19:50:20 +05:30
Aravind
6486a4f0ec
cli: when applying metadata, assume empty metadata plugin files if they don't exist (close #5163) (#5170) 2020-06-24 16:08:48 +05:30
Aravind
1f2037947d
cli: manage seed migrations as sql files (close #2431) (#3763) 2020-06-16 17:45:04 +05:30
Aravind
5a648a9bb2
cli: fix cron triggers not being exported on a metadata export (close #5047) (#5060) 2020-06-16 14:38:36 +05:30
Aravind
d7ca702542
cli: support squashing migrations with remote joins (close #4908) (#4924) 2020-06-16 12:10:20 +05:30
Sameer Kolhar
13e4edbdf8
cli: add flags --up-sql and --down-sql to migrate create command (close #5026) (#5039) 2020-06-16 11:30:20 +05:30
Ashish Rao
d9cc676790
cli: add --dry-run flag to migrate apply command (close #3128) (#3499) 2020-06-03 16:49:36 +05:30
Aravind
177556f441
cli: fix tests failing in local dev environment (#4729) 2020-06-03 14:01:40 +05:30
Aravind
daf098886b
cli: fix bug with squashing event triggers (close #4883) (#4949) 2020-06-03 12:13:05 +05:30
Aravind
edbd9c4f48
cli: load assets from server if cdn is disabled (close #3382) (#3851) 2020-06-03 09:36:23 +05:30
Aravind Shankar
16d01bc908
cli: add support for skipping execution while generating migrations through the migrate REST API (#4475) 2020-06-02 10:41:47 +05:30
scriptonist
b771956336 cli: fix update scripts failing when sql migrations files are already present 2020-05-26 08:46:36 +05:30
Aravind
f1c3b43f6f
cli: fix docs failing to build (close #4637) (#4698) 2020-05-07 13:03:50 +05:30
Can Taşpınar
9d815598cc
cli: include new commands in help text (fix #4623) (#4626) 2020-05-05 09:21:20 +05:30
Shraddha Agrawal
88685736c7
Merge branch 'master' into init-current-directory 2020-04-28 18:35:00 +05:30
Shraddha Agrawal
d95d6378e8
cli: add support for servers with self-signed certs (fix #4564) (#4582)
Co-Authored-By: Marion Schleifer <marion@hasura.io>
2020-04-28 17:29:57 +05:30
Shraddha Agrawal
f7b99b53e4 minor fixes 2020-04-27 13:26:34 +05:30
Shraddha Agrawal
d5ae48c14e update help text and docs for init command 2020-04-27 10:03:10 +05:30
Shraddha Agrawal
e9cad694ed validate pwd is neither filesystem root nor an existing hasura project 2020-04-27 09:04:32 +05:30
Shraddha Agrawal
3053af1055 cli: allow initialising project in current directory 2020-04-26 22:24:48 +05:30
Shraddha Agrawal
38529b3960
cli: remove irrelevant flags from init command (close #4508) (#4549) 2020-04-25 11:33:13 +05:30
Shraddha Agrawal
e07761eb33
cli: validate endpoint using ParseRequestURI (fix #4407) (#4416) 2020-04-23 08:40:24 +05:30
Shraddha Agrawal
75d35ac2f6
cli: add suport for .env file (fix #4129) (#4454) 2020-04-23 08:17:51 +05:30
Aravind Shankar
455b78552d
cli(test): refactor integration test metadata directory (#4491) 2020-04-22 16:58:02 +05:30
Aravind Shankar
2a693be553
cli(test): fix cli init test to use initDir from subtest group (#4490) 2020-04-22 15:54:24 +05:30
Aravind Shankar
2ee6328d0d
cli: add check_metadata_consistency for v2 workflow migrations (#4392) 2020-04-22 15:52:02 +05:30
Aravind Shankar
aca11f0944
cli: spinner bug, add cli_environment in global config (#4459)
close #4456
close #4436
close #4496
2020-04-22 14:45:42 +05:30
Rishichandra Wawhal
8a5cc73ae6
cli, console: actions dx improvements (close #4306, #4311) (#4308) 2020-04-16 13:40:47 +05:30
Aravind Shankar
5081a2969f
cli: update makefile to set plugins branch ref (#4421) 2020-04-16 06:54:50 +05:30
Aravind
f073243283
cli: add hasura-collaborator-token and hasura-client-name to allowed headers (#4414) 2020-04-15 19:08:31 +05:30
Aravind Shankar
1ada6627b0
ci: add tests for cli-migrations image (#4396)
- Created new job test_and_build_cli_migrations which runs after test_and_build_cli
- Build the cli-migrations and cli-migrations-v2 and save the images as tar image.
- Run the test defined in each workflow v1 and v2.
- Load the image that was built earlier in deploy step
2020-04-15 07:26:00 +05:30
Aravind Shankar
21a4dff993
cli(squash): add set_table_is_enum metadata type (close #4394) (#4395) 2020-04-14 16:39:41 +05:30
Shraddha Agrawal
a1796c2c9f
cli: update docs to remove realize specific instructions (#4398) 2020-04-14 08:42:53 +05:30
Rishichandra Wawhal
9b66724b41
console, cli, cli-ext: query support for actions (close #4032) (#4318)
Co-authored-by: Aravind Shankar <aravind@hasura.io>
2020-04-13 15:51:53 +05:30
Aravind Shankar
491a50b1e9
cli: link cli-ext plugin with cli version (close #4105) (#4280) 2020-04-13 08:46:06 +05:30
Aravind Shankar
53e4f994d2
cli: event trigger retry_conf support to squash (close #4296) (#4324) 2020-04-10 08:22:41 +05:30
Aravind
14b5d10dfb
cli: refactor ec to allow setting hge api headers (#4347) 2020-04-09 15:00:47 +05:30
Aravind
e1b0562fd8
cli: clarify flags on migrate create (#4316) 2020-04-09 14:35:05 +05:30
Aravind Shankar
995e198d0a
cli: show env vars for the flags in command help (close #4263) (#4326) 2020-04-08 17:25:42 +05:30
Aravind Shankar
21b61af109
cli: allow customization of server api paths (close #4016) (#4174) 2020-04-08 16:29:21 +05:30
Aravind Shankar
325771e406
cli: remove migration files if api returns error (close #4312) (#4319)
When using console from CLI and a migration is created, the files are written first and an API call is made to Hasura to execute that migration. There was a bug which caused this file to remain when the API call to Hasura failed. This commit fixes the bug by deleting the files if Hasura API call fails and propagates the error to console.
2020-04-08 10:54:47 +05:30
Aravind Shankar
d5e61716f8
cli: add support for multiple versions of plugin (close #4105) (#4135) 2020-04-07 19:42:14 +05:30
Aravind Shankar
d0870a85f8
cli: update makefile to include pkger (#4320) 2020-04-07 18:35:00 +05:30
Aravind
de41438e8a
cli: refactor console command (#4150) 2020-04-07 14:53:20 +05:30
Rishichandra Wawhal
f75e4e6ad0
cli: add assetsPath in unversioned console html (close #4274) (#4275) 2020-04-03 09:04:49 +05:30
Aravind Shankar
09e0e2f2a5
cli: fix init command to generate correct config (fix #4036) (#4038) 2020-03-26 08:54:05 +05:30
Aravind Shankar
13e8a3c010
cli: send command path in telemetry data (#4095) 2020-03-26 08:38:54 +05:30
Aravind Shankar
41757b5f7f
cli: fix parse error returned on console api (close #4126) (#4152) 2020-03-25 16:12:39 +05:30
Dmitry Minkovsky
b6780e8a15
cli: fix typo in cli example for squash (fix #4047) (#4049) 2020-03-09 15:19:00 +05:30
Shahidh K Muhammed
d7d53f222c
cli: add version flag in update-cli command (#3996)
Co-authored-by: Shahidh K Muhammed <muhammedshahid.k@gmail.com>
2020-03-05 12:25:33 +05:30
Aravind Shankar
45bcb6b536
cli, server: use prerelease tag as channel for console assets cdn (#3975)
Co-authored-by: Shahidh K Muhammed <muhammedshahid.k@gmail.com>
2020-03-04 20:10:47 +05:30
Aravind Shankar
e3b843ce81
cli: fix flags in actions, migrate and metadata cmd (fix #3982) (#3991) 2020-03-03 12:36:59 +05:30
Aravind Shankar
28941b4eef
cli(actions): preserve action definition in metadata apply (fix… (#3993) 2020-03-03 12:36:07 +05:30
Praveen Durairaju
865b150c82
noop: replace subdomain links with subpath (#3869)
Co-authored-by: Rikin Kachhia <54616969+rikinsk@users.noreply.github.com>
2020-02-27 15:43:07 +05:30
Aravind Shankar
21e6dd7759
cli: bug fixes related to actions (#3951) 2020-02-25 20:28:28 +05:30
Aravind Shankar
89b6ce86ca
cli: misc fixes related to actions (#3942) 2020-02-25 12:16:11 +05:30
Aravind Shankar
bb63d7e60e
cli: allow managing actions (#3859)
Co-authored-by: Rishichandra Wawhal <rishichandra.wawhal@gmail.com>
Co-authored-by: Rikin Kachhia <54616969+rikinsk@users.noreply.github.com>
Co-authored-by: Aravind <aravindkp@outlook.in>
Co-authored-by: Anon Ray <ecthiender@users.noreply.github.com>
Co-authored-by: Shahidh K Muhammed <muhammedshahid.k@gmail.com>
2020-02-24 21:44:46 +05:30
Rikin Kachhia
b0d180efa2
docs: use install manifests from stable branch (#3906)
* update docs install manifests to use stable branch

* change the link to master at some more places

Co-authored-by: Shahidh K Muhammed <muhammedshahid.k@gmail.com>
2020-02-19 17:13:08 +05:30
Karthikeyan Chinnakonda
441c0a2452
cli: update installation instructions in the readme (fix #3875) (#3876)
Co-authored-by: Shahidh K Muhammed <muhammedshahid.k@gmail.com>
2020-02-13 12:54:36 +05:30
Aravind
c258fa75cb
cli: add --goto flag in hasura migrate apply (close #2689) (#3715)
* cli: add --goto <version> flag to migrate command

* cli: fix error encoutered in goto, when on version -1

* do down migrations one step down

* reorganize code

* in case of up "gotos" make sure that all previous migration in migration chain are applied

* modify readUp and readDown functions to account for --goto use case

* refactor to clean up and adopt a better implementation addressing the comments

* remove empty error handling step

* return ErrNoChange when no migrations were applied

* respect m.stop() can panic so place conditional cases after that and add a couple other small fixes

* fix bug caused by early checking of versions

* fix to add migration_mode and nil version check

* add some more examples for migrate apply command

Co-authored-by: Aravind Shankar <face11301@gmail.com>
Co-authored-by: Shahidh K Muhammed <muhammedshahid.k@gmail.com>
2020-02-03 12:33:32 +05:30
Shahidh K Muhammed
64485a0fd6
cli: fix version constraint for update check (close #3719) (#3730) 2020-01-30 14:41:03 +05:30
Shahidh K Muhammed
f6a43fe3ba
fix various version-related issues with cli (close #3706) (#3709)
- do not quit on server-cli version mismatch, show warning
- fix a bug in update-cli command which prevets updates to pre-release
versions
- if a console template for a particular version is not found, use the
latest template
2020-01-16 09:23:18 +05:30
Aravind
204f02fc62 cli: update go-binddata, fix realize (close #3588) (#3687)
* use a maintained version of go-binddata, fix error in `realize
start`

* run go mod tidy
2020-01-13 15:24:41 +05:30
Ashish Rao
2fc49eaa63 cli: add browser flag to console command (close #3333) (#3601)
Co-authored-by: Ashish Rao <ashishrao@hasura.io>
Co-authored-by: Thibaut Tiberghien <thibaut@smplrspace.com>
2020-01-08 08:36:09 +05:30
Aravind Shankar
bf98f15dcf cli(fix): execute down migration in the correct order (#3625) 2020-01-06 15:21:00 +05:30
Rahul Verma
c6ab1014af cli(fix): better error handling on non-json api responses (clos… (#3104)
Co-authored-by: Rahul Verma <51950008+rahulverma283@users.noreply.github.com>
Co-authored-by: Shahidh K Muhammed <muhammedshahid.k@gmail.com>
2019-12-27 16:28:36 +05:30
Aravind Shankar
337403d532 cli(fix): squash command not adding the last down (close #3401) (#3569)
Co-authored-by: Shahidh K Muhammed <muhammedshahid.k@gmail.com>
2019-12-27 11:35:20 +05:30
Ashish Rao
1cea6bdc57 cli: use json logs on non-terminal envs (close #2770) (#3528)
Co-authored-by: Shahidh K Muhammed <shahidh@hasura.io>
2019-12-25 20:14:02 +05:30
Pradeep Murugesan
dece69c5a9 cli: add commands to manage inconsistent metadata (close #2766) (#2973)
Co-authored-by: Aravind Shankar <face11301@gmail.com>
Co-authored-by: Shahidh K Muhammed <muhammedshahid.k@gmail.com>
2019-12-25 14:03:06 +05:30
Shahidh K Muhammed
8ea6f77c7b
cli: add directory name as an argument to init cmd (#3590)
* add directory-name as an argument to init command

* change dev version to a const string
2019-12-25 14:01:29 +05:30
Ashish Rao
f8ffbda118 console(fix): blank image on remote schemas section (close #220… (#3574) 2019-12-21 13:04:08 +05:30
Alexis King
bdf79dfc48
Fix failing CLI test (#3567) 2019-12-18 16:45:29 -06:00
Rakesh Emmadi
421a182f64 export metadata without nulls, empty arrays & default values (#3393)
* export metadata without nulls, empty arrays
* property tests for 'ReplaceMetadata' using QuickCheck
-> Derive Arbitrary class for 'ReplaceMetadata' dependant types

* reduce property test cases number to 30
QuickCheck generates the `ReplaceMetadata` value really large
for higher number test cases. Encoded JSON for such values is large and
consumes more memory. Thus, CI is giving up while running property
tests.

* circle-ci: Add property tests as saperate job
* add no command mode to tests
* add yaml.v2 to go mod
* remove indirect comment for yaml.v2 dependency
2019-12-14 00:47:38 -06:00
Ashish Rao
3d3e987c2a cli(build): migrate to go modules (close #3476) (#3493) 2019-12-12 11:07:26 +05:30
Ashish Rao
0f89940383 cli(installer): add -f flag to curl (fix #1871) (#3477) 2019-12-12 11:00:19 +05:30
Ashish Rao
b183eba9ba add examples to all cli commands (#3475) (#3492) 2019-12-12 10:46:36 +05:30
Ashish Rao
094bbc8760 fix(cli): mark from flag as required for squash (close #3400) (#3500) 2019-12-10 15:48:58 +05:30
Euler
56a217bbaa add name to migrate status response (close #2376) (#3109) 2019-11-28 17:06:16 +05:30
Rakesh Emmadi
9b8e6b42d1 functions can access session info via input arg (close #2322) (#3143) 2019-11-20 12:17:06 +05:30
Rakesh Emmadi
3888ceb24a computed fields in export/import metadata, other fixes (#3211) 2019-11-07 20:09:48 +05:30
Aravind Shankar
980c65dbe2 cli(migrations): new folder structure and squash (#3072)
### Description
This PR introduces three new features:

- Support for a new migrations folder structure.
- Add `squash` command in preview.
- ~List of migrations on the Console and ability to squash them from console.~

#### New migrations folder structure

Starting with this commit, Hasura CLI supports a new directory structure for migrations folder and defaults to that for all new migrations created. 

Each migration will get a new directory with the name format `timestamp_name` and inside the directory, there will be four files:

```bash
└── migrations
    ├── 1572237730898_squashed
    │   ├── up.sql
    │   ├── up.yaml
    │   ├── down.yaml
    │   └── down.sql
```

Existing files old migration format `timestamp_name.up|down.yaml|sql` will continue to work alongside new migration files.

#### Squash command

Lots of users have expressed their interest in squashing migrations (see #2724 and #2254) and some even built [their own tools](https://github.com/domasx2/hasura-squasher) to do squash. In this PR, we take a systematic approach to squash migrations.

A new command called `migrate squash` is introduced. Note that this command is in **PREVIEW** and the correctness of squashed migration is not guaranteed (especially for down migrations). From our tests, **it works for most use cases**, but we have found some issues with squashing all the down migrations, partly because the console doesn't generate down migrations for all actions.

Hence, until we add an extensive test suite for squashing, we'll keep the command in preview. We recommend you to confirm the correctness yourself by diffing the SQL and Metadata before and after applying the squashed migrations (we're also thinking about embedding some checks into the command itself).

```bash
$ hasura migrate squash --help
(PREVIEW) Squash multiple migrations leading upto the latest one into a single migration file

Usage:
  hasura migrate squash [flags]

Examples:
  # NOTE: This command is in PREVIEW, correctness is not guaranteed and the usage may change.

  # squash all migrations from version 1572238297262 to the latest one:
  hasura migrate squash --from 1572238297262

Flags:
      --from uint             start squashing form this version
      --name string           name for the new squashed migration (default "squashed")
      --delete-source         delete the source files after squashing without any confirmation
```

### Affected components 
<!-- Remove non-affected components from the list -->

- CLI

### Related Issues
<!-- Please make sure you have an issue associated with this Pull Request -->
<!-- And then add `(close #<issue-no>)` to the pull request title -->
<!-- Add the issue number below (e.g. #234) -->
Close #2724, Close #2254, 

### Solution and Design
<!-- How is this issue solved/fixed? What is the design? -->
<!-- It's better if we elaborate -->

For the squash command, a state machine is implemented to track changes to Hasura metadata. After applying each action on the metadata state, a list of incremental changes is created.

### Steps to test and verify
1. Open console via cli and create some migrations.
2. Run `hasura migrate squash --from <version>`

### Limitations, known bugs & workarounds
<!-- Limitations of the PR, known bugs and suggested workarounds -->

<!-- Feel free to delete these comment lines -->
- The `squash` command is in preview
- Support for squashing from the console is WIP
- Support for squashing migrations that are not committed yet is planned.
- Un-tracking or dropping a table will cause inconsistent squashed down migration since console doesn't generate correct down migration.
- If cascade setting is set to `true` on any of the metadata action, generated migration may be wrong
2019-10-31 07:51:15 +05:30
Jeff Sieu
2ee7f7d76e cli(metadata): add diff command and dry-run flag (#3157)
### Description
Adds a `metadata diff` command to show comparisons between two different sets of Hasura metadata.
```
# Show changes between server metadata and the exported metadata file:
hasura metadata diff

# Show changes between server metadata and that in local_metadata.yaml:
hasura metadata diff local_metadata.yaml

# Show changes between metadata from metadata.yaml and metadata_old.yaml:
hasura metadata diff metadata.yaml metadata_old.yaml
```

Also adds a `--dry-run` flag to `metadata apply` command which will print the diff and exit rather than actually applying the metadata.

### Affected components 
- CLI
- Docs

### Related Issues
Close #3126, Close #3127

### Solution and Design
- Added `metadata_diff.go` and `metadata_diff_test.go`


### Steps to test and verify
```
hasura metadata export
# Make changes to migrations/metadata.yaml
hasura metadata diff
```

### Limitations, known bugs & workarounds
This is just a general-purpose diff. 

A more contextual diff with the understanding of metadata can be added once #3072  is merged.
2019-10-30 19:24:22 +05:30