-
Notifications
You must be signed in to change notification settings - Fork 4
Home
Database library for LiveCode
This repository hosts the source code for the SQL Yoga library for LiveCode. While the library can be used independently of any framework, SQL Yoga is distributed as a Helper for the Levure framework.
The simplest way is to download the SQL Yoga repository, rename the folder to "sql yoga" and place it in your applications "helpers" folder. The next time you open your application in the IDE SQL Yoga will be loaded.
In the app.yml
file you tell SQL Yoga where to find your database configuration files. Add the following to the app.yml
file.
app.yml
sql yoga:
configuration:
- filename: ./database
Since you told SQL Yoga that configuration files are stored in a database
folder you now need to create the folder. Create the database
folder in the app
folder (alongside the ui
, behaviors
, etc. folders).
In the ./app/database
folder create a file named connections.yml
. Configure a connection that points to the database file. Here is a SQLite example that points to a .sqlite file in the ./app/database
folder:
default connection: local
connections:
local:
adaptor: sqlite
file: ./database/to-do.sqlite
- Open your Levure application in the LiveCode IDE.
- In the message box call
dbconn_connect
. - In the message box call
sqlyogadev_saveSchemaToYAML;put the result
.
You will now find a schema.yml
file in your ./app/database
folder. It contains a YAML represenation of the database. If any errors occurred they will be reported in the message box due to the addition of ;put the result
.
If you modify the database schema in a 3rd party application you will need to update the schema.yml
file.
- Open your Levure application in the LiveCode IDE.
- In the message box call
dbconn_connect
. - In the message box call
dbsynch_schemaWithDatabase
. - In the message box call
sqlyogadev_saveSchemaToYAML;put the result
.
The ./app/database/schema.yml
file will now be updated to match your database schema.
SQL Yoga allows you to create a database from scratch using a YAML file as well.
- Create a
migrate
folder in your./app/database
folder. - Create a file named
001_create_tables.yml
in the./app/database/migrate
folder. - Add the following YAML to the file:
migration:
create tables:
- For each table you want to create add the following:
- name: TABLE_NAME
fields:
- { name: FIELD_NAME, type: FIELD_TYPE }
- Open your Levure application open in the Livecode IDE.
- In the message box call
sqlyogadev_runMigrations;put the result
.
Your database will now have the tables and fields you specified and the ./app/database/schema.yml
file will contain the new schema. If any errors occurred they will be reported in the message box due to the addition of ;put the result
.
You can also create new records in the migration file.
migration:
create tables:
...
create records:
- table: TABLE_NAME
records:
- { FIELD_NAME: FIELD_VALUE, FIELD_NAME: FIELD_VALUE }
SQL Yoga USER GUIDE
- Home
- SQL Yoga Objects
- Database Objects
- Connection Objects
- SQL Query Objects
- SQL Record Objects
- Table Objects
- Table Object Behaviors
- Relationships
- Scopes
- Schema
- Working with User Search Strings
- SQL Query Template Objects
- Error Handling
- Migrating from SQL Yoga 1.x
- Integrating with the Levure Application Framework