- OVERVIEW

- Schema
- Model

- MODULES

- AutoCode::Schema
- AutoCode::ModuleModel

- AutoCode::ModuleModel::add_array_attribute
- AutoCode::ModuleModel::add_array_child

Schema and Model

# OVERVIEW

Introduction to Schema and Model

## Schema

A schema contains a list of (module) Models, described below. It is a collective concept rather than any detailed ones.

## Model

a Model, presenting a table in database and a module in code, is a concrete concept. There are 2 kinds of attributes

- directive attribute
mainly helpful for this system

- value attribute
there are 2 kinds of values.

- slot
- child

# MODULES

## AutoCode::Schema

AutoCode::Schema presents the concept of Schema.

## AutoCode::ModuleModel

### AutoCode::ModuleModel::add_array_attribute

### AutoCode::ModuleModel::add_array_child

AutoCode::ModuleModel::add_array_slot AutoCode::ModuleModel::add_scalar_attribute AutoCode::ModuleModel::add_scalar_child AutoCode::ModuleModel::add_scalar_slot AutoCode::ModuleModel::get_all_directive_attributes AutoCode::ModuleModel::get_all_value_attributes AutoCode::ModuleModel::get_array_attributes AutoCode::ModuleModel::get_array_children AutoCode::ModuleModel::get_array_slots AutoCode::ModuleModel::get_directive_attribute AutoCode::ModuleModel::get_scalar_attributes AutoCode::ModuleModel::get_scalar_children AutoCode::ModuleModel::get_scalar_slots AutoCode::ModuleModel::get_value_attribute AutoCode::ModuleModel::remove_array_attributes AutoCode::ModuleModel::remove_array_children AutoCode::ModuleModel::remove_array_slots AutoCode::ModuleModel::remove_scalar_attributes AutoCode::ModuleModel::remove_scalar_children AutoCode::ModuleModel::remove_scalar_slots AutoCode::ModuleModel::schema AutoCode::ModuleModel::type