[Development] Request moving project to playground area

Hamed Masafi hamed.masafi at gmail.com
Thu Feb 2 20:38:00 CET 2017


Project Name: Nut (currently renamed to ORM)

Description: ORM is a project aimed to help users working with databases.
Developer will write his/her own classes and ORM will generates database
schema and corresponding tables. ORM can generate database migration code
(create, drop and alter table and fields) according to database version
changes.

ORM Currently has following features:
- Easy to use;
- PosgtreSQL, MySQL, SQLite and Microsoft Sql Server support;
- Automatically create and update database schema;
- IDE auto complete support, No hard-code nedded;
- Table join detect (currently limited to one join)

Further information is available via this git repo:
https://github.com/HamedMasafi/Nut

Declaring persistant objects in ORM is straightforward:

    class Comment : public Table
    {
        Q_OBJECT

        NUT_PRIMARY_AUTO_INCREMENT(id)
        NUT_DECLARE_FIELD(int, id, id, setId)
        NUT_DECLARE_FIELD(QString, message, message, setMessage)
        NUT_DECLARE_FIELD(QDateTime, saveDate, saveDate, setSaveDate)
        NUT_DECLARE_FIELD(qreal, point, point, setPoint)

        NUT_FOREGION_KEY(Post, int, post, post, setPost)

    public:
        Q_INVOKABLE explicit Comment(QObject *tableSet = 0);
    };

ORM will automatically generate corresponding schema generation scripts.

This project currently... :
 - has code name 'Nut' and suggested name is ORM. But it may have any other
name.
 - Use macro hack for model rules. But it may merge with moc in feature.

TODO:
 - Support index
 - Some enhanced for better experience to developer.
 - qml full binding support.
 - Multi join (to master and slave) support
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20170202/8e6992ee/attachment.html>


More information about the Development mailing list