Base class for database import operations.
More...
Base class for database import operations.
This class implements basic callbacks for import operations and defines the
- See also
- import_database method as a common method for all importers. In general, subclasses will override import_database and call other methods in appropriate moments. Between a single pair of calls to
-
begin_database_import and
-
finish_database_import, multiple non-overlapping pairs of calls may be made to
-
begin_table_import and
-
finish_database_import for different tables. Between one pair of calls to
-
begin_table_import and
-
finish_database_import multiple calls may be made to
-
import_table_data for the same table. This class can be used directly, if the standard control flow (defined above) is respected.
◆ __construct()
database_importer::__construct |
( |
moodle_database | $mdb, |
|
|
| $check_schema = true ) |
Object constructor.
- Parameters
-
- See also
- moodle_database object). Use null to use the current $DB connection.
- Parameters
-
boolean | $check_schema | - whether or not to check that XML database schema matches the RDBMS database schema before importing (inside |
- See also
- begin_database_import).
◆ begin_database_import()
database_importer::begin_database_import |
( |
| $version, |
|
|
| $timestamp ) |
Callback function.
Should be called only once database per import operation, before any database changes are made. It will check the database schema if
- See also
- check_schema is true
- Exceptions
-
- Parameters
-
float | $version | the version of the system which generated the data |
string | $timestamp | the timestamp of the data (in ISO 8601) format. |
- Return values
-
◆ begin_table_import()
database_importer::begin_table_import |
( |
| $tablename, |
|
|
| $schemaHash ) |
Callback function.
Should be called only once per table import operation, before any table changes are made. It will delete all table data.
- Exceptions
-
- Parameters
-
string | $tablename | - the name of the table that will be imported |
string | $schemaHash | - the hash of the xmldb_table schema of the table |
- Return values
-
◆ finish_database_import()
database_importer::finish_database_import |
( |
| ) |
|
Callback function.
Should be called only once database per import operation, after all database changes are made. It will commit changes.
- Return values
-
◆ finish_table_import()
database_importer::finish_table_import |
( |
| $tablename | ) |
|
Callback function.
Should be called only once per table import operation, after all table changes are made. It will reset table sequences if any.
- Parameters
-
- Return values
-
◆ import_database()
database_importer::import_database |
( |
| ) |
|
◆ import_table_data()
database_importer::import_table_data |
( |
| $tablename, |
|
|
| $data ) |
Callback function.
Should be called only once per record import operation, only between
- See also
- begin_table_import and
-
finish_table_import calls. It will insert table data.
- Exceptions
-
- Parameters
-
string | $tablename | - the name of the table in which data will be imported |
object | $data | - data object (fields and values will be inserted into table) |
- Return values
-
◆ set_transaction_mode()
database_importer::set_transaction_mode |
( |
| $mode | ) |
|
How to use transactions during the import.
- Parameters
-
string | $mode | 'pertable', 'allinone' or 'none'. |
◆ $check_schema
bool database_importer::$check_schema |
|
protected |
Boolean flag - whether or not to check that XML database schema matches the RDBMS database schema before importing (used by.
- See also
- begin_database_import).
◆ $manager
◆ $mdb
◆ $schema
Target database schema in XMLDB format (a.
- See also
- xmldb_structure object).
The documentation for this class was generated from the following file:
- lib/dtl/database_importer.php