Создаем пустой файл:
if (!std::filesystem::exists(DbFile.toStdString()))
std::ifstream file(DbFile.toStdString(), std::ios_base::in);
Создаем структуру БД.
CreateDB - вектор с SQL на создание таблиц, индексов и прочей предварительной инициализации.
auto сonnection = QSqlDatabase::addDatabase("QSQLITE", "SomeDatabase");
connection.setDatabaseName(DbFile);
bool isOpened = connection.open();
if (!isOpened)
return;
connection.transaction();
for (auto& createSQL : CreateDB)
connection.exec(createSQL);
connection.commit();