camelot :: core :: backup :: BackupMechanism :: Class BackupMechanism |
[frames] | no frames]

# Class BackupMechanism

Create a backup of the current database to an sqlite database stored in filename.

The backupmechanism always considers the schema of the backed up database as the master, and never that of the backup. This means that when a backup is made, the backup file is first removed, and then filled with the tables from the the database to backup. When a restore is done, the schema of the database is not touched, but the tables are emptied and the data from the backup is copied into the existing schema.

Instance Methods
__init__(self, filename) Backup and restore to a local file using it as an sqlite database |
backup(self) Generator function that yields tuples : (numer_of_steps_completed, total_number_of_steps, description_of_current_step) while performing a backup. |
backup_table_filter(self, from_table) Method used to filter which tables should be backed up, overwrite this method for taking into account specific schema issues. |
copy_table_data(self, from_table, to_table) |
delete_table_data(self, to_table) This method might be subclassed to turn off/on foreign key checks |
prepare_schema_for_restore(self, from_engine, to_engine) This method will be called before the actual restore starts. It allows bringing the schema at the same revision as the backed up data. |
restore(self) Generator function that yields tuples : (numer_of_steps_completed, total_number_of_steps, description_of_current_step) while performing a restore. |
restore_table_filter(self, from_table) Method used to filter which tables should be restored, overwrite this method for taking into account specific schema issues. restore_table_filter is different from backup_table_filter, since we might want to store data in the backup that should not be restored, like schema version information. |
update_schema_after_restore(self, from_engine, to_engine) This method will be called after the restore has been done. It allows bringing the schema at the revision the application expects. |
Inherited from `object`: `__delattr__`, `__format__`, `__getattribute__`, `__hash__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__repr__`, `__setattr__`, `__sizeof__`, `__str__`, `__subclasshook__`

Properties
Inherited from `object`: `__class__`

Method Details

### __init__(self, filename) (Constructor) |
Backup and restore to a local file using it as an sqlite database Overrides: object.__init__

### backup_table_filter(self, from_table) |
Method used to filter which tables should be backed up, overwrite this method for taking into account specific schema issues. Returns: True when the table should be backed up

### restore_table_filter(self, from_table) |
Method used to filter which tables should be restored, overwrite this method for taking into account specific schema issues. restore_table_filter is different from backup_table_filter, since we might want to store data in the backup that should not be restored, like schema version information. Returns: True when the table should be restored