950 B
950 B
| title | draft |
|---|---|
| Database | false |
Creating a Schema
@add(this.schema)
function tables.myTable() {
createTable(myTable, name);
createField(myTable, id, int, [pk, un]);
createField(myTable, name, string, [fk, un]);
createField(myTable, description, string, []);
finishTable(myTable); // Runs checks, such as existence of pk
}
Data Structure
{
database: {
tables: {
$table: {
lock: bool, // locked tables cannot be accessed by queries
name: string, // $name
fields: string[], // $field
pk: string, // $field
fk: string[], // $field (optional)
un: string[], // $field
rq: string[], // $filed (optional)
data: {
$field: {
name: string, // $field
type: string, // $type
props: { // these are parsed from props array
pk: bool,
fk: bool,
un: bool,
rq: bool,
},
content: any[]
}
...
}
}
...
}
}
}