mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-07-10 21:47:22 +02:00
Merge pull request #6890 from huffman/fix-asset-migration
Fix asset server data migration
This commit is contained in:
commit
a3ccf7014c
2 changed files with 28 additions and 6 deletions
|
@ -56,7 +56,7 @@ void AssetServer::run() {
|
||||||
if (!_resourcesDirectory.exists()) {
|
if (!_resourcesDirectory.exists()) {
|
||||||
qDebug() << "Asset resources directory not found, searching for existing asset resources";
|
qDebug() << "Asset resources directory not found, searching for existing asset resources";
|
||||||
QString oldDataDirectory = QCoreApplication::applicationDirPath();
|
QString oldDataDirectory = QCoreApplication::applicationDirPath();
|
||||||
auto oldResourcesDirectory = QDir(oldDataDirectory).filePath(RESOURCES_PATH);
|
auto oldResourcesDirectory = QDir(oldDataDirectory).filePath("resources/" + RESOURCES_PATH);
|
||||||
|
|
||||||
if (QDir(oldResourcesDirectory).exists()) {
|
if (QDir(oldResourcesDirectory).exists()) {
|
||||||
qDebug() << "Existing assets found in " << oldResourcesDirectory << ", copying to " << _resourcesDirectory;
|
qDebug() << "Existing assets found in " << oldResourcesDirectory << ", copying to " << _resourcesDirectory;
|
||||||
|
|
|
@ -1145,13 +1145,35 @@ void OctreeServer::domainSettingsRequestComplete() {
|
||||||
if (_wantPersist) {
|
if (_wantPersist) {
|
||||||
// If persist filename does not exist, let's see if there is one beside the application binary
|
// If persist filename does not exist, let's see if there is one beside the application binary
|
||||||
// If there is, let's copy it over to our target persist directory
|
// If there is, let's copy it over to our target persist directory
|
||||||
QString oldResourcesDirectory = QCoreApplication::applicationDirPath();
|
|
||||||
auto oldPersistPath = QDir(oldResourcesDirectory).absoluteFilePath(_persistFilename);
|
|
||||||
auto persistPath = ServerPathUtils::getDataFilePath("entities/" + QString(_persistFilename));
|
auto persistPath = ServerPathUtils::getDataFilePath("entities/" + QString(_persistFilename));
|
||||||
if (oldPersistPath != persistPath && !QFile::exists(persistPath)) {
|
if (!QFile::exists(persistPath)) {
|
||||||
qDebug() << "Persist file does not exist, checking for existence of persist file next to application";
|
qDebug() << "Persist file does not exist, checking for existence of persist file next to application";
|
||||||
|
|
||||||
|
static const QString OLD_DEFAULT_PERSIST_FILENAME = "resources/models.json.gz";
|
||||||
|
QString oldResourcesDirectory = QCoreApplication::applicationDirPath();
|
||||||
|
|
||||||
|
// This is the old persist path, based on the current persist filename, which could
|
||||||
|
// be a custom filename set by the user.
|
||||||
|
auto oldPersistPath = QDir(oldResourcesDirectory).absoluteFilePath(_persistFilename);
|
||||||
|
|
||||||
|
// This is the old default persist path.
|
||||||
|
auto oldDefaultPersistPath = QDir(oldResourcesDirectory).absoluteFilePath(OLD_DEFAULT_PERSIST_FILENAME);
|
||||||
|
|
||||||
|
qDebug() << "Checking for existing persist file at " << oldPersistPath << " and " << oldDefaultPersistPath;
|
||||||
|
|
||||||
|
QString pathToCopyFrom;
|
||||||
|
bool shouldCopy = false;
|
||||||
|
|
||||||
if (QFile::exists(oldPersistPath)) {
|
if (QFile::exists(oldPersistPath)) {
|
||||||
qDebug() << "Old persist file found, copying from " << oldPersistPath << " to " << persistPath;
|
shouldCopy = true;
|
||||||
|
pathToCopyFrom = oldPersistPath;
|
||||||
|
} else if (QFile::exists(oldDefaultPersistPath)) {
|
||||||
|
shouldCopy = true;
|
||||||
|
pathToCopyFrom = oldDefaultPersistPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (shouldCopy) {
|
||||||
|
qDebug() << "Old persist file found, copying from " << pathToCopyFrom << " to " << persistPath;
|
||||||
|
|
||||||
QDir persistFileDirectory = QDir(persistPath).filePath("..");
|
QDir persistFileDirectory = QDir(persistPath).filePath("..");
|
||||||
|
|
||||||
|
@ -1159,7 +1181,7 @@ void OctreeServer::domainSettingsRequestComplete() {
|
||||||
qDebug() << "Creating data directory " << persistFileDirectory.path();
|
qDebug() << "Creating data directory " << persistFileDirectory.path();
|
||||||
persistFileDirectory.mkpath(".");
|
persistFileDirectory.mkpath(".");
|
||||||
}
|
}
|
||||||
QFile::copy(oldPersistPath, persistPath);
|
QFile::copy(pathToCopyFrom, persistPath);
|
||||||
} else {
|
} else {
|
||||||
qDebug() << "No existing persist file found";
|
qDebug() << "No existing persist file found";
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue