mirror of
https://we.phorge.it/source/phorge.git
synced 2025-01-18 18:51:12 +01:00
No description
f89f708692
Summary: Ref T11044. Sometimes we have a sequence of patches like this: - `01.newtable.sql`: Adds a new table to Files. - `02.movedata.php`: Moves some data that used to live in Tokens to the new table. This is fairly rare, but not unheard of. More commonly, we can have this sequence: - `03.newtable.sql`: Add a new column to Phame. - `04.setvalue.php`: Copy data into that new column. In both cases, when applying database-by-database, we can get into trouble. - In the first case, if Files is on a different master, we'll try to move data into a new table before creating the table. - In the second case, if Phame is on a different master, the PHP patch will connect to it before we add the new column. In either case, we try to interact with tables or columns which don't exist yet. Instead, apply each patch in order, to all databases which need it. So we'll apply `01.newtable.sql` EVERYWHERE first, then move on. In the case of PHP patches, we also now only apply them once, since they never make schema changes. It should normally be OK to apply them more than once safely, but this is a little faster and a little safer if we ever make a mistake. Test Plan: - Ran `bin/storage upgrade` on single-host and clustered setups. - Initialized new storage on single-host and clustered setups. - Upgraded again after initialization. - Ran with `--apply`. - Ran with `--dry-run`. Reviewers: chad Reviewed By: chad Maniphest Tasks: T11044 Differential Revision: https://secure.phabricator.com/D16912 |
||
---|---|---|
bin | ||
conf | ||
externals | ||
resources | ||
scripts | ||
src | ||
support | ||
webroot | ||
.arcconfig | ||
.arclint | ||
.arcunit | ||
.editorconfig | ||
.gitignore | ||
LICENSE | ||
NOTICE | ||
PhabricatorTypeaheadDatasourceTestCase.php | ||
README.md |
Phabricator is a collection of web applications which help software companies build better software.
Phabricator includes applications for:
- reviewing and auditing source code;
- hosting and browsing repositories;
- tracking bugs;
- managing projects;
- conversing with team members;
- assembling a party to venture forth;
- writing stuff down and reading it later;
- hiding stuff from coworkers; and
- also some other things.
You can learn more about the project (and find links to documentation and resources) at Phabricator.org
Phabricator is developed and maintained by Phacility.
SUPPORT RESOURCES
For resources on filing bugs, requesting features, reporting security issues, and getting other kinds of support, see Support Resources.
NO PULL REQUESTS!
We do not accept pull requests through GitHub. If you would like to contribute code, please read our Contributor's Guide.
LICENSE
Phabricator is released under the Apache 2.0 license except as otherwise noted.