1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
/*
* Copyright (C) 2010-2012 Jeremy Lainé
* Contact: http://code.google.com/p/qdjango/
*
* This file is part of the QDjango Library.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*/
/*! \page database Database configuration
QDjango relies on the <a href="http://doc.qt.nokia.com/latest/qtsql.html">QtSql module</a>
for database access, which supports a wide array of database drivers.
\section setup Setting the database
The first step is to open the database using
<a href="http://doc.qt.nokia.com/latest/qsqldatabase.html#addDatabase">QSqlDatabase::addDatabase()</a>,
for instance for an in-memory SQLite database:
\code
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName(":memory:");
db.open();
\endcode
You should now tell QDjango to use the database you just opened:
\code
QDjango::setDatabase(db);
\endcode
\section creating Creating or dropping database tables
Once you have set the database and declared all your models (see \ref models), you can ask QDjango to create
the database tables for all models:
\code
QDjango::createTables();
\endcode
Conversely, you can ask QDjango to drop the database tables for all models:
\code
QDjango::dropTables();
\endcode
\section threading Threading support
Internally, QDjango calls the QDjango::database() method whenever it needs a handle to the database. This method will clone the database connection as needed if it is invoked from a different thread.
*/
|