MythTV
master
|
#include <cstdio>
#include <iostream>
#include <QString>
#include <QSqlError>
#include "libmyth/schemawizard.h"
#include "libmythbase/compat.h"
#include "libmythbase/dbutil.h"
#include "libmythbase/mythconfig.h"
#include "libmythbase/mythcorecontext.h"
#include "libmythbase/mythdb.h"
#include "libmythbase/mythdbcheck.h"
#include "libmythbase/mythlogging.h"
#include "libmythbase/mythversion.h"
#include "cardutil.h"
#include "dbcheck.h"
#include "mythvideoprofile.h"
#include "recordinginfo.h"
#include "recordingprofile.h"
#include "recordingrule.h"
#include "videodbcheck.h"
Go to the source code of this file.
Macros | |
#define | MINIMUM_DBMS_VERSION 5,0,15 |
Functions | |
static bool | doUpgradeTVDatabaseSchema (void) |
This is called by UpgradeTVDatabaseSchema() to actually upgrade the schema to what MythTV expects. More... | |
static bool | tryUpgradeTVDatabaseSchema (bool upgradeAllowed, bool upgradeIfNoUI, bool informSystemd) |
static void | db_sd_notify (const char *) |
bool | UpgradeTVDatabaseSchema (const bool upgradeAllowed, const bool upgradeIfNoUI, [[maybe_unused]] const bool informSystemd) |
Called from outside dbcheck.cpp to update the schema. More... | |
bool | InitializeMythSchema (void) |
command to get the the initial database layout from an empty database: More... | |
Variables | |
const QString | currentDatabaseVersion = MYTH_DATABASE_VERSION |
#define MINIMUM_DBMS_VERSION 5,0,15 |
Definition at line 27 of file dbcheck.cpp.
|
static |
This is called by UpgradeTVDatabaseSchema() to actually upgrade the schema to what MythTV expects.
This function Initializes the database if the "DBSchemaVer" property does not exist in the database. Otherwise it upgrades the schema from the one in that property to the currentDatabaseVersion, by running the SQL commands needed for each upgrade between the two versions. This will only upgrade the schema, so bad things may happen if you upgrade and then downgrade MythTV across DB Schema versions.
Definition at line 466 of file dbcheck.cpp.
Referenced by tryUpgradeTVDatabaseSchema().
|
static |
Definition at line 410 of file dbcheck.cpp.
Referenced by UpgradeTVDatabaseSchema().
|
inlinestatic |
Definition at line 41 of file dbcheck.cpp.
Referenced by tryUpgradeTVDatabaseSchema(), and UpgradeTVDatabaseSchema().
bool UpgradeTVDatabaseSchema | ( | const bool | upgradeAllowed, |
const bool | upgradeIfNoUI, | ||
[[maybe_unused] ] const bool | informSystemd | ||
) |
Called from outside dbcheck.cpp to update the schema.
If the "DBSchemaVer" property equals the currentDatabase version this returns true immediately. If not, we try to do a database backup, if interactive prompt the user for permission to do the upgrade, and if permitted or non-interactive with a successful backup do the actual update.
If the program running this function is killed while this is running then the schema may be corrupted.
Definition at line 362 of file dbcheck.cpp.
Referenced by main(), and run_backend().
bool InitializeMythSchema | ( | void | ) |
command to get the the initial database layout from an empty database:
mysqldump \ –skip-comments –skip-opt –compact –skip-quote-names \ –create-options –ignore-table=mythconverg.schemalock mythconverg | \ sed '/^(SET|INS).*;$/d;/^\/*!40101.*$/d;s/^.*[^;]$/"&"/;s/^).*;$/"&",/'
command to get the initial data:
mysqldump \ –skip-comments –skip-opt –compact –skip-quote-names -t \ –ignore-table=mythconverg.logging mythconverg | sed -e 's/^.*$/"&",/' -e 's#\#\\#g'
don't forget to delete host specific data
Definition at line 4098 of file dbcheck.cpp.
Referenced by doUpgradeTVDatabaseSchema(), and main().
const QString currentDatabaseVersion = MYTH_DATABASE_VERSION |
Definition at line 29 of file dbcheck.cpp.
Referenced by doUpgradeTVDatabaseSchema(), and tryUpgradeTVDatabaseSchema().