# Usage & Options

The Schema Structure is defined as seen in the Examples Below, and you can use it either as an Object Structure or directly by specifying the Type. There is a Section Below that Shows the Options for Using the Schema Structure as an Object.

## Schema Options

| Options                                       | Type                                                                                                 | Description                                                                                                                                                               |
| --------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <mark style="color:blue;">**type**</mark>     | <mark style="color:yellow;">**String, Number, Array, Object, Date, Boolean Or Cherry3 Types**</mark> | <mark style="color:green;">**This Setting Section will be the Type of the Key Specified in the Schema on the Database.**</mark>                                           |
| <mark style="color:blue;">**default**</mark>  | <mark style="color:yellow;">**Any Type Value**</mark>                                                | <mark style="color:green;">**If a value is not specified in the database registration process, this section will automatically add the entered value by default.**</mark> |
| <mark style="color:blue;">**required**</mark> | <mark style="color:yellow;">**Boolean**</mark>                                                       | <mark style="color:green;">**This value will make it mandatory to enter data for the specified key structure. If no data is entered, it will not be recorded.**</mark>    |

## Model Options

| Options                                            | Type                                         | Description                                                                                                                                                                                                                                                        |
| -------------------------------------------------- | -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| <mark style="color:yellow;">**$timestamps**</mark> | <mark style="color:blue;">**Boolean**</mark> | <mark style="color:orange;">**If our feature is active in our Database Template, createdAt and updatedAt data will be automatically recorded in each row, and this information will be forwarded to you in each query. The returned data is of Date type.**</mark> |
| <mark style="color:yellow;">**$debug**</mark>      | <mark style="color:blue;">**Boolean**</mark> | <mark style="color:orange;">**If our Debug Feature is Active, the output of all operations performed with the database and how they are performed will appear on our Console.**</mark>                                                                             |

***Example Usage***

```javascript
// Let's Transfer the Values in Our Package
const { Model, Schema, Types } = require('cherry3');

// Sample Schema Definition
const schema = Schema({
name: String,
age: Types.Number,
country: { type: String, default: '', required: false }
});

// Sample Model Definition
const model = new Model('users',schema,{ $timestamps: true, $debug: false });

// Our Database is Ready for Use 😁


```
