Как я могу получить определения определений? - PullRequest
0 голосов
/ 11 июля 2019

Я бы хотел получить определения View из схемы PostgreSQL, чтобы я мог создавать те же представления в целевой базе данных.Я получаю всю информацию от SchemaCrawler, кроме таблицы, на которой основано представление.Это возможно?Или вместо определения View, может ли SchemaCrawler включать имя базовой таблицы?

Я попытался установить параметр -parents, чтобы посмотреть, будет ли Views включать в себя «родительскую» таблицу, но я не получаю такой информации.

[РЕДАКТИРОВАТЬ]
Вот что я получаю:

     {
      "foreignKeys": [],
      "indexes": [],
      "columns": [
        {
          "size": 50,
          "nullable": true,
          "databaseSpecificType": "varchar",
          "generated": false,
          "dataType": "VARCHAR",
          "name": "view_description",
          "width": "",
          "decimalDigits": 0,
          "remarks": "",
          "autoIncremented": false
        },
        {
          "size": 10,
          "nullable": true,
          "databaseSpecificType": "numeric",
          "generated": false,
          "dataType": "NUMERIC",
          "name": "revenue",
          "width": "(10, 0)",
          "decimalDigits": 0,
          "remarks": "",
          "autoIncremented": false
        },
        {
          "size": 10,
          "nullable": true,
          "databaseSpecificType": "numeric",
          "generated": false,
          "dataType": "NUMERIC",
          "name": "assets",
          "width": "(10, 0)",
          "decimalDigits": 0,
          "remarks": "",
          "autoIncremented": false
        },
      ],
      "name": "my_view",
      "definition": "",
      "type": "view",
      "triggers": [],
      "tableConstraints": [],
      "remarks": "",
      "primaryKey": {}
    }

и вот что я ожидаю:

{
  "foreignKeys": [],
  "indexes": [],
  "columns": [
    {
      "size": 50,
      "nullable": true,
      "databaseSpecificType": "varchar",
      "generated": false,
      "dataType": "VARCHAR",
      "name": "view_description",
      "width": "",
      "decimalDigits": 0,
      "remarks": "",
      "autoIncremented": false
    },
    {
      "size": 10,
      "nullable": true,
      "databaseSpecificType": "numeric",
      "generated": false,
      "dataType": "NUMERIC",
      "name": "revenue",
      "width": "(10, 0)",
      "decimalDigits": 0,
      "remarks": "",
      "autoIncremented": false
    },
    {
      "size": 10,
      "nullable": true,
      "databaseSpecificType": "numeric",
      "generated": false,
      "dataType": "NUMERIC",
      "name": "assets",
      "width": "(10, 0)",
      "decimalDigits": 0,
      "remarks": "",
      "autoIncremented": false
    },
  ],
  "name": "my_view",
  "definition": "CREATE VIEW my_view ...",
  "type": "view",
  "triggers": [],
  "tableConstraints": [],
  "remarks": "",
  "primaryKey": {}
}

или иметь запись типа "parentTable": «my_table», которую я могу использовать для создания скрипта CREATE VIEW с помощью шаблона или кода.

Спасибо!

...