bool ModelGenerator::generate(bool userModel) const
{
    QStringList files;

    if (!TableSchema(tableName).exists()) {
        qCritical("table not found, %s", qPrintable(tableName));
        return false;
    }

    // Generates models
    files << generateSqlObject();
    if (userModel) {
        if (fieldList.count() == 2) {
            files << genUserModel(fieldList.value(0), fieldList.value(1));
        } else if (fieldList.isEmpty()) {
            files << genUserModel();
        } else {
            qCritical("invalid parameters");
            return false;
        }
    } else {
        files << genModel();
    }

    // Generates a project file
    ProjectFileGenerator progen(dstDir.filePath("models.pro"));
    return progen.add(files);
}
Esempio n. 2
0
bool ViewGenerator::generate() const
{
    QStringList files;

    // Reserved word check
    if (excludedDirName()->contains(dstDir.dirName())) {
        qCritical("Reserved word error. Please use another word.  View name: %s", qPrintable(dstDir.dirName()));
        return false;
    }

    mkpath(dstDir);

    if (!TableSchema(tableName).exists()) {
        qCritical("table not found, %s", qPrintable(tableName));
        return false;
    }

    // Generates view files
    files << generateViews();

    // Generates a project file
    QDir dir(QDir::cleanPath(dstDir.filePath("..")));
    ProjectFileGenerator progen(dir.filePath("views.pro"));
    return progen.generate(QStringList(), VIEWS_PROJECT);
}