Oracle Schema
schema
The schema
block describes a database schema.
schema "public" {
...
}
schema
attributes
Name | Required | Value |
---|---|---|
name | false | string |
schema
constraints
Constraint | Value |
---|---|
Required | false |
Require Name (e.g., schema "name" ) | true |
table
The table
block describes a table in a database schema.
table "users" {
schema = schema.public
column "id" {
type = int
}
...
}
table
attributes
Name | Required | Value |
---|---|---|
comment | false | string |
depends_on | false | List of object references |
schema | true | Object reference to |
table
blocks
table.check
table.check
attributes
Name | Required | Value |
---|---|---|
expr | true | string |
table.check
constraints
Constraint | Value |
---|---|
Required | false |
Require Name | false |
Repeatable | true |
table.column
table.column
attributes
Name | Required | Value |
---|---|---|
as | false | string |
comment | false | string |
default | false | Column default value can be one of:
|
null | false | bool |
type | true | Column type can be one of:
|
table.column
blocks
table.column.identity
table.column.identity
attributes
Name | Required | Value |
---|---|---|
cache | false | int |
cycle | false | bool |
generated | false |
|
increment | false | int |
max_value | false | int |
min_value | false | int |
order | false | bool |
start | false | int |
table.column
constraints
Constraint | Value |
---|---|
Required | false |
Require Name (e.g., table.column "name" ) | true |
Mutually exclusive sets | [as (attribute), as (block)] |
table.foreign_key
table.foreign_key
attributes
Name | Required | Value |
---|---|---|
columns | true | Foreign key columns can be one of:
|
on_delete | false |
|
ref_columns | true | Foreign key reference columns can be one of:
|
table.foreign_key
constraints
Constraint | Value |
---|---|
Required | false |
Require Name (e.g., table.foreign_key "name" ) | true |
table.index
table.index
attributes
Name | Required | Value |
---|---|---|
bitmap | false | bool |
columns | false | Index columns can be one of:
|
reversed | false | bool |
unique | false | bool |
table.index
blocks
table.index.on
table.index.on
attributes
Name | Required | Value |
---|---|---|
column | false | Index columns can be one of:
|
desc | false | bool |
expr | false | string |
table.index.on
constraints
Constraint | Value |
---|---|
Required | false |
Require Name | false |
Repeatable | true |
Mutually exclusive sets | [column, expr] |
table.index
constraints
Constraint | Value |
---|---|
Required | false |
Require Name (e.g., table.index "name" ) | true |
Mutually exclusive sets | [columns, on] |
One of required sets | [columns, on] |
table.primary_key
table.primary_key
attributes
Name | Required | Value |
---|---|---|
columns | false | Primary key columns can be one of:
|
comment | false | string |
include | false | Primary key included columns can be one of:
|
table.primary_key
blocks
table.primary_key.on
table.primary_key.on
attributes
Name | Required | Value |
---|---|---|
column | true | Primary key columns can be one of:
|
desc | false | bool |
table.primary_key.on
constraints
Constraint | Value |
---|---|
Required | false |
Require Name | false |
Repeatable | true |
table.primary_key
constraints
Constraint | Value |
---|---|
Required | false |
Require Name (e.g., table.primary_key "name" ) | true |
Mutually exclusive sets | [columns, on] |
One of required sets | [columns, on] |
table.unique
table.unique
attributes
Name | Required | Value |
---|---|---|
columns | true | Index columns can be one of:
|
table.unique
constraints
Constraint | Value |
---|---|
Required | false |
Require Name (e.g., table.unique "name" ) | true |
table
constraints
Constraint | Value |
---|---|
Required | false |
Require Name (e.g., table "name" ) | true |
Allow Qualifier (e.g., table "schema" "name" ) | true |
trigger
The trigger
block describes a trigger on a table in a database schema.
trigger "trigger_orders_audit" {
on = table.orders
...
}
trigger
attributes
Name | Required | Value |
---|---|---|
as | false | string |
call | false | string |
follows | false | Object reference to |
for | false |
|
foreach | false |
|
on | true | Trigger on can be one of: |
precedes | false | Object reference to |
when | false | string |
trigger
blocks
trigger.after
trigger.after
attributes
Name | Required | Value |
---|---|---|
delete | false | bool |
insert | false | bool |
truncate | false | bool |
update | false | bool |
update_of | false | Trigger update_of columns can be one of:
|
trigger.after
constraints
Constraint | Value |
---|---|
Required | false |
Require Name | false |
Mutually exclusive sets | [update, update_of] |
One of required sets | [insert, delete, truncate, update, update_of] |
trigger.before
trigger.before
attributes
Name | Required | Value |
---|---|---|
delete | false | bool |
insert | false | bool |
truncate | false | bool |
update | false | bool |
update_of | false | Trigger update_of columns can be one of:
|
trigger.before
constraints
Constraint | Value |
---|---|
Required | false |
Require Name | false |
Mutually exclusive sets | [update, update_of] |
One of required sets | [insert, delete, truncate, update, update_of] |
trigger.instead_of
trigger.instead_of
attributes
Name | Required | Value |
---|---|---|
delete | false | bool |
insert | false | bool |
truncate | false | bool |
update | false | bool |
update_of | false | Trigger update_of columns can be one of:
|
trigger.instead_of
constraints
Constraint | Value |
---|---|
Required | false |
Require Name | false |
Mutually exclusive sets | [update, update_of] |
One of required sets | [insert, delete, truncate, update, update_of] |
trigger.referencing
trigger.referencing
attributes
Name | Required | Value |
---|---|---|
new | false | string |
old | false | string |
parent | false | string |
trigger.referencing
constraints
Constraint | Value |
---|---|
Required | false |
Require Name | false |
Repeatable | true |
trigger
constraints
Constraint | Value |
---|---|
Required | false |
Require Name (e.g., trigger "name" ) | true |
Repeatable | true |
Mutually exclusive sets | [foreach, for] , [follows, precedes] , [before, after, instead_of] , [as, call] |
One of required sets | [before, after, instead_of] , [as, call] |
view
The view
block describes a view in a database schema.
view "clean_users" {
schema = schema.public
column "id" {
type = int
}
...
}
view
attributes
Name | Required | Value |
---|---|---|
as | true | string |
comment | false | string |
depends_on | false | List of object references |
schema | true | Object reference to |
view
blocks
view.column
view.column
attributes
Name | Required | Value |
---|---|---|
null | false | bool |
type | true | Column type can be one of:
|
view.column
constraints
Constraint | Value |
---|---|
Required | false |
Require Name (e.g., view.column "name" ) | true |
view
constraints
Constraint | Value |
---|---|
Required | false |
Require Name (e.g., view "name" ) | true |
Allow Qualifier (e.g., view "schema" "name" ) | true |