Description
In this article, we're going to take the following card_product database table and describe it using GenRocket's DDL JSON Schema. This card_product table provides a good example because it utilizes most of the features of GenRocket's DDL JSON Schema.
Card Product Table
Below is an ER Diagram view of the card_product table that will be described in GenRocket's DDL JSON Schama.
GenRocket DDL JSON Schema for Card Product Table
[{
"name": "card_product",
"columns": [
{
"name": "id",
"type": {
"datatype": "bigint",
"maxLength": "20",
"nullable": false,
"format": ""
},
"metadata": {
"hint": "Card Product Id",
"observedCharacters": "",
"maxValue": "",
"minValue": ""
}
},
{
"name": "pin",
"type": {
"datatype": "int",
"maxLength": "10",
"nullable": true
},
"metadata": {
"observedCharacters": "",
"maxValue": "",
"minValue": ""
}
},
{
"name": "name_on_card",
"type": {
"name_on_card": "varchar",
"maxLength": "50",
"nullable": false,
"format": ""
},
"metadata": {
"hint": "Name On Card",
"observedCharacters": "A..Z,a..z",
"maxValue": "",
"minValue": ""
}
},
{
"name": "card_number",
"type": {
"datatype": "varchar",
"maxLength": "16",
"nullable": false,
"format": ""
},
"metadata": {
"hint": "Card Number",
"observedCharacters": "123456789",
"maxValue": "",
"minValue": ""
}
},
{
"name": "security_code",
"type": {
"datatype": "int",
"maxLength": "10",
"nullable": false,
"format": ""
},
"metadata": {
"hint": "Security Code",
"observedCharacters": "",
"maxValue": "8999999999",
"minValue": "1000000000"
}
},
{
"name": "enable",
"type": {
"datatype": "tinyint",
"maxLength": "1",
"nullable": false,
"format": ""
},
"metadata": {
"hint": "",
"observedCharacters": "",
"maxValue": ""
}
},
{
"name": "date_issued",
"type": {
"datatype": "date",
"maxLength": "",
"nullable": false,
"format": "yyyy-MM-dd HH:mm:ss"
},
"metadata": {
"hint": "Issued",
"observedCharacters": "",
"maxValue": "",
"minValue": ""
}
},
{
"name": "date_expired",
"type": {
"datatype": "date",
"maxLength": "",
"nullable": false,
"format": "yyyy-MM-dd HH:mm:ss"
},
"metadata": {
"hint": "Expired",
"observedCharacters": "",
"maxValue": "",
"minValue": ""
}
},
{
"name": "date_activated",
"type": {
"datatype": "date",
"maxLength": "",
"nullable": true,
"format": "yyyy-MM-dd HH:mm:ss"
},
"metadata": {
"hint": "Activated",
"observedCharacters": "",
"maxValue": "",
"minValue": ""
}
},
{
"name": "date_deactivated",
"type": {
"hint": "Deactivated",
"maxLength": "",
"nullable": true,
"format": "yyyy-MM-dd HH:mm:ss"
},
"metadata": {
"datatype": "int",
"observedCharacters": "",
"maxValue": "",
"minValue": ""
}
}
],
"primaryKey": [{"column": "id"}],
"foreignKeys": [
{
"column": "card_type_id",
"name": "card_type",
"foreignColumn": "id"
},
{
"column": "customer_account_id",
"name": "customer_account",
"foreignColumn":"id"
}
]
}]
HTML