About Liya 2.0...

Liya allows a user to access three Database Systems simultaneously from a single visual interface.

Liya can access MySQL, PostgreSQL & SQLite3 databases, all in the same way, using a simple 3-panel display - one panel for selecting the database and the table, another for editing the table structure, and the last for editing the contents of the table.

Liya can access databases in all three systems simultaneously, using multiple windows, with each window showing the contents of a single database.

And Liya will move data from one database to another, just by dragging and droppiing. If you need to copy the table structure of one table to another, even across database systems, simply drag and drop across windows. Do the same with data. You can export data from one database for backups that can be read by any of the other databases.


Getting Started

Make sure you have access to MySQL or PostgreSQL databases. Or you can use Liya to create a standalone SQLite database.

To get you started quickly, we have one-click installers for MySQL and PostgreSQL databases on OS X Lion. Just click on their respective icons, on the right, to download.

They're 64-bit Intel binaries for Lion. Once installed, new versions of these installers will upgrade the previous version, including bringing over existing databases, automatically.


Logging In

If you've used our installers to set up the MySQL or PostgreSQL database (or used a standard installation of either database), this is how you'll login to the respective databases when you start up Liya running locally on the database server machine.

Use the Databae Type popup menu, below, to select MySQL or PostgreSQL.

Enter "localhost" for the Database URL. Then for MySQL, use "root" as the User Name. Use "postgres" for PostgreSQL. And leave the password blank as this is the default setup for these special admin-level users.

(Note that you can only login in as "root" or "postgres" locally on the database server machine. You can't use these accounts to login from a remote machine.)

Once you've logged in, you can review the list of databases already existing on your system by clicking on the "Select a Database..." popup menu, as shown below:

If you've logged in as "root" or "postgres", you would see a button named "Manage Users". Clicking this button will bring up a dialog box, as shown below:

This dialog box allows you to set a password for the "root" user, or create additional admin-level users who can log in to the system from a remote machine, unlike the "root" and "postgres" user.

You can use this dialog box to add or remove the other admin-level users, or change their passwords.

Only the "root" and "postgres" user can manage the users and then only from the local server machine.

Admin-level users can create databases, and create and edit tables and their field structures.

At the moment this feature is a convenience - it's meant to help a Liya user get going quickly setting up databases, designing their data structures, and enter or retrieve data from these databases.

A further feature would probably be to allow the "root" and "postgres" user to create non-admin level users, i.e., users who are only able to access the data (but not to edit the data structures) or to have restricted read-only access to the data. But this is for a future version of Liya.


Database, Tables and Field Structure

Select either an existing database or create a new one.

And then you can create a new table and the fields for each table, as shown below, which can be easily modified, even if you have data already entered into the database:

However, Liya's focus is not on having the best GUI for editing MySQL databases, or PostgreSQL databases, for that matter (though it may one day come to have that, too).

We created Liya, and the SQL database installers to go with it, so that we can (1) have a very quick way to set up database systems on freshly installed Macs, (2) design the database structures and quickly populate them with data, and then (3) get these data onto an iPhone, iPad or the Mac.

And we didn't want to be stuck with just MySQL. So we focused on a more limited subset of the SQL data tyes that can be easily mapped from one database system to another and to Objective-C data types like NSString, NSData, NSDate and NSDecimal.

It needs the addition of the time data type. Then this set should probably work well for our purposes - which is to create database-centric applications quickly and easily for the Mac, iPhone and iPad.

What remains is to make Liya perform better as a database design tool in its own right and, possibly, make its application programming interface publicly available as an API - if we can find the time.


Accessing the Data in a Table

This is Liya accessing the data from a table of account codes in the Luca database in MySQL:

Just select a table in the list of Tables and hit the Go button. You can also choose only selected fields to display the data for by dragging fields from the list of fields and dropping them onto the Contents area under the Go button.

Once the data is displayed you can search through them, sort according to a selected field, make modifications to the data, and save them back to the database (using the File->Save menu command). You can revert your changes before you commit to saving them.


Copying Tables, Fields and Data from one Database System to Another

Just use Liya to open a window to establish a connection to another (target) database system while a window is already open to a source database system.

For example, imagine we want to copy the "act_accounts" table shown above to a PostgreSQL system.

We just login to Postgres, create a new empty database there, and literally drag the "act_accounts" table from MySQL to Postgres, as shown below :

And this what you will see in PostgreSQL (picture below). Modify it to suit your needs:

Save these modifications to the Postgres database using the Save command in Liya's File menu.

You can drag in more tables from MySQL, or you can drag in selected fields from selected tables, and you can drag over data, too, in the same way.

You can move data and database structure from any one of the three database systems supported by Liya - MySQL, PostgreSQL, SQLite - into any one of the three.

There is also a way to export and import whole databases. Use the left and right arrows next to the "Manage Users" button.

Liya is still very much a work in progress. Right now, it's a reasonably good tool for designing database systems that we've set up quickly using our SQL database installers. Also, using the same libraries that we've used to build Liya, but re-compiled to run on Arm processors, we're able to get these data quickly onto our iPhones, iPads and iPod touches. There's more we can build on top of this.


Release Log

2.0 Aug 6th 2011. Liya version 2.0 for Lion released.

2.0.1 Aug 19th 2011. Added the Minimum System Key to denote that the app will only work on Lion.

2.0.2 Aug 24th 2011. Improved support for SQLite databases. Liya now knows how to handle SQLite tables which were created with data types specified in UPPER-CASE, as well as SQLIte databases which include stat tables. Liya can now open such databases properly.

2.0.3 Nov 7th 2011. Minor bug fixes.

2.0.4 Feb 19th 2012. Fixed a problem whereby a new PostgreSQL database user, created from Liya, does not have the correct privileges granted to it to create tables in the database.

2.0.5 Mar 8th 2012. Bug fixes. Includes updated database connectors to match the latest versions of MySQL, Postgres and SQLite3. Also, Liya will now do everything with a Postgres database that it can currently do with a MySQL database. For example, Liya can now do data entry and searches for data in fields with quotes, double-quotes, apostrophes, umlauts, diacriticals, any human language (like Traditional or Simplified Chinese or Tamil), and even partial date strings, for both MySQL and PostgreSQL databases, and it will do it consistently across Mac, iPhone or iPad devices.  

Download
LiyaForLion.zip

The latest Liya version is 2.0.5, with multi-lingual data entry and search, and automatic time-zone support for time-stamp fields.

Please check out the Release Log

Liya is also on the Mac App Store.


Contact
Bernard Teo

MySQL 5.5.21 & PostgreSQL 9.1.2



Note:
There's also a Liya for the iPhone.