Create a Generated Application Schema
Applies to: App Generation projects that use the SaaS Engine template
AppWizzy creates the initial application schema from your requirements. You do not complete a separate schema step during the current creation flow.
The schema defines the data that the generated application stores and manages.
Schema elements
A useful schema includes these elements:
- entities for business records.
- fields for the properties of each entity.
- relationships between entities.
- required and unique value rules.
- display names and labels.
- view settings for each entity.
- ownership and tenant relationships.
An entity is one business record type. Examples include Customer, Order, Project, Appointment, and Ticket.
A field is one value on an entity. Examples include name, status, amount, due date, owner, and description.
Define entities
Use one entity for each record type that has its own lifecycle. Give every entity a clear singular name.
Describe why the record exists and who manages it. Identify its required fields and important states.
Do not create separate entities for values that are simple properties. Use a separate entity when the value needs relationships or its own workflow.
Define fields
Describe the expected value for each important field. AppWizzy can use text, numbers, dates, choices, files, booleans, and relationships.
State these rules when they apply:
- the value is required.
- the value must be unique.
- the value has a fixed set of choices.
- the value contains multiple lines or formatted text.
- the value is a date or date and time.
- the value references another entity.
- the value must not appear in list views.
Use fixed choices for stable states, such as Draft, Active, Paused, and Closed.
Define relationships
State the direction and quantity of each relationship. Use plain language before you use technical database terms.
Examples:
- one customer can have many orders.
- each order belongs to one customer.
- one project can have many members.
- one member can join many projects.
AppWizzy uses relationships in forms, filters, permissions, and generated pages.
Include users, roles, and organizations
Authentication uses application users. Describe additional user profile data only when the application needs it.
Define business roles and permitted actions during requirements gathering. Do not use a database field as a substitute for a complete permission rule.
If the application separates customer organizations, describe the organization entity and its ownership rules. State which records belong to each organization.
Choose a view for each entity
The schema can assign a table, list, card, calendar, or kanban view to an entity.
Calendar views require suitable date fields. Kanban views require a suitable choice or relationship field for columns.
Read Data Representation: View Types for the selection rules.
Review the generated schema
Review the generated application after creation. Check forms, list columns, relationships, role access, sample data, and important workflows.
Use Edit via Chat to request a schema or application change. State the entity, field, relationship, and required migration behavior.
Some projects and accounts can show a DB Schema page. This page is not available for every App Generation user.
Read Schema Editor before you use that page.
Protect existing data
A schema change can require a database migration. Removing or changing a field can affect stored application data.
Save a project version before a major schema change. Export important application data before any destructive database operation.
Do not use Drop DB and Rebuild as a normal schema update. That action can delete generated application data.