我重新安装了Phabricator,并尝试从旧实例中移动数据。按照说明进行操作后,即:
./bin/storage dump | gzip > backup.sql.gz # old machine
gunzip -c backup.sql.gz | mysql -u root -p # new machine
新机器上的Phabricator中断,显示Unhandled Exception
通过Web界面访问:
AphrontSchemaQueryException
#1054: Unknown column 's.phid' in 'field list'
我该如何进行?
谢谢。
PS:旧混血机的转速:
commit bd0bbc713a36ab132ed2e15525ccfb3eb08b4614
Author: Chad Little <chad@phacility.com>
Date: Mon Aug 17 11:48:29 2015 -0700
新版本:
commit dfbc4c1cd338c8304b8fa2c5d074564c967fd3c2
Author: epriestley <git@epriestley.com>
Date: Thu Apr 25 10:35:35 2019 -0700
更新:
我没有运气就跑过./bin/storage upgrade -f
:
$ ./bin/storage upgrade -f
Applying patch "phabricator:20150910.owners.custom.1.sql" to host "localhost"...
[2019-05-02 11:46:15] EXCEPTION: (AphrontQueryException) #1050: Table 'owners_customfieldstorage' already exists at [<phutil>/src/aphront/storage/connection/mysql/AphrontBaseMySQLDatabaseConnection.php:376] arcanist(head=master, ref.master=9830c9316d38), phabricator(head=master, ref.master=5dc4e76eb9f8), phutil(head=master, ref.master=639e4b9cae28)
#0 AphrontBaseMySQLDatabaseConnection::throwQueryCodeException(integer, string) called at [<phutil>/src/aphront/storage/connection/mysql/AphrontBaseMySQLDatabaseConnection.php:310]
#1 AphrontBaseMySQLDatabaseConnection::throwQueryException(mysqli) called at [<phutil>/src/aphront/storage/connection/mysql/AphrontBaseMySQLDatabaseConnection.php:206]
#2 AphrontBaseMySQLDatabaseConnection::executeQuery(PhutilQueryString) called at [<phutil>/src/xsprintf/queryfx.php:8]
#3 queryfx(AphrontMySQLiDatabaseConnection, string, string) called at [<phabricator>/src/infrastructure/storage/management/PhabricatorStorageManagementAPI.php:270]
#4 PhabricatorStorageManagementAPI::applyPatchSQL(string) called at [<phabricator>/src/infrastructure/storage/management/PhabricatorStorageManagementAPI.php:238]
#5 PhabricatorStorageManagementAPI::applyPatch(PhabricatorStoragePatch) called at [<phabricator>/src/infrastructure/storage/management/workflow/PhabricatorStorageManagementWorkflow.php:1157]
#6 PhabricatorStorageManagementWorkflow::doUpgradeSchemata(array, NULL, boolean, boolean) called at [<phabricator>/src/infrastructure/storage/management/workflow/PhabricatorStorageManagementWorkflow.php:903]
#7 PhabricatorStorageManagementWorkflow::upgradeSchemata(array, NULL, boolean, boolean) called at [<phabricator>/src/infrastructure/storage/management/workflow/PhabricatorStorageManagementUpgradeWorkflow.php:78]
#8 PhabricatorStorageManagementUpgradeWorkflow::didExecute(PhutilArgumentParser) called at [<phabricator>/src/infrastructure/storage/management/workflow/PhabricatorStorageManagementWorkflow.php:107]
#9 PhabricatorStorageManagementWorkflow::execute(PhutilArgumentParser) called at [<phutil>/src/parser/argument/PhutilArgumentParser.php:457]
#10 PhutilArgumentParser::parseWorkflowsFull(array) called at [<phutil>/src/parser/argument/PhutilArgumentParser.php:349]
#11 PhutilArgumentParser::parseWorkflows(array) called at [<phabricator>/scripts/sql/manage_storage.php:249]
迁移到具有旧phabricator的新计算机(新OS / apache / php)上-可行。这是我目前的默认解决方法。