1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-19 13:22:42 +01:00
phorge-phorge/resources/sql/autopatches
epriestley 19be32656f Implement clock/trigger infrastructure for scheduling actions
Summary:
Ref T6881. Hopefully, this is the hard part.

This adds a new daemon (the "trigger" daemon) which processes triggers, schedules them, and then executes them at the scheduled time. The design is a little complicated, but has these goals:

  - High resistance to race conditions: only the application writes to the trigger table; only the daemon writes to the event table. We won't lose events if someone saves a meeting at the same time as we're sending a reminder out for it.
  - Execution guarantees: scheduled events are guaranteed to execute exactly once.
  - Support for arbitrarily large queues: the daemon will make progress even if there are millions of triggers in queue. The cost to update the queue is proportional to the number of changes in it; the cost to process the queue is proportional to the number of events to execute.
  - Relatively good observability: you can monitor the state of the trigger queue reasonably well from the web UI.
  - Modular Infrastructure: this is a very low-level construct that Calendar, Phortune, etc., should be able to build on top of.

It doesn't have this stuff yet:

  - Not very robust to bad actions: a misbehaving trigger can stop the queue fairly easily. This is OK for now since we aren't planning to make it part of any other applications for a while. We do still get execute-exaclty-once, but it might not happen for a long time (until someone goes and fixes the queue), when we could theoretically continue executing other events.
  - Doesn't start automatically: normal users don't need to run this thing yet so I'm not starting it by default.
  - Not super well tested: I've vetted the basics but haven't run real workloads through this yet.
  - No sophisticated tooling: I added some basic stuff but it's missing some pieces we'll have to build sooner or later, e.g. `bin/trigger cancel` or whatever.
  - Intentionally not realtime: This design puts execution guarantees far above realtime concerns, and will not give you precise event execution at 1-second resolution. I think this is the correct goal to pursue architecturally, and certainly correct for subscriptions and meeting reminders. Events which execute after they have become irrelevant can simply decline to do anything (like a meeting reminder which executes after the meeting is over).

In general, the expectation for applications is:

  - When creating an object (like a calendar event) that needs to trigger a scheduled action, write a trigger (and save the PHID if you plan to update it later).
  - The daemon will process the event and schedule the action efficiently, in a race-free way.
  - If you want to move the action, update the trigger and the daemon will take care of it.
  - Your action will eventually dump a task into the task queue, and the task daemons will actually perform it.

Test Plan:
Using a test script like this:

```
<?php

require_once 'scripts/__init_script__.php';

$trigger = id(new PhabricatorWorkerTrigger())
  ->setAction(
    new PhabricatorLogTriggerAction(
      array(
        'message' => 'test',
      )))
  ->setClock(
    new PhabricatorMetronomicTriggerClock(
      array(
        'period' => 33,
      )))
  ->save();

var_dump($trigger);
```

...I queued triggers and ran the daemon:

  - Verified triggers fire;
  - verified triggers reschedule;
  - verified trigger events show up in the web UI;
  - tried different periods;
  - added some triggers while the daemon was running;
  - examined `phd debug` output for anything suspicious.

It seems to work in trivial use case, at least.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T6881

Differential Revision: https://secure.phabricator.com/D11419
2015-01-16 12:13:31 -08:00
..
20140104.harbormastercmd.sql Replace "Cancel Build" with "Stop", "Resume" and "Restart" 2014-01-06 12:32:20 -08:00
20140106.macromailkey.1.sql Add mailKey to macros 2014-01-06 12:17:23 -08:00
20140106.macromailkey.2.php Add mailKey to macros 2014-01-06 12:17:23 -08:00
20140108.ddbpname.1.sql Add names to Drydock blueprints 2014-01-09 10:56:34 -08:00
20140108.ddbpname.2.php Add names to Drydock blueprints 2014-01-09 10:56:34 -08:00
20140109.ddxactions.sql Add transactions to Drydock blueprint editing 2014-01-09 12:19:54 -08:00
20140109.projectcolumnsdates.sql Adding the create flow for Project Board (Workphlow) columns. 2014-01-09 16:12:11 -08:00
20140113.legalpadsig.1.sql Legalpad - make it work for not logged in users 2014-01-14 17:17:18 -08:00
20140113.legalpadsig.2.php Legalpad - make it work for not logged in users 2014-01-14 17:17:18 -08:00
20140115.auth.1.id.sql Give the session table a normal id column as a primary key 2014-01-15 13:55:18 -08:00
20140115.auth.2.expires.sql Expire and garbage collect unused sessions 2014-01-15 13:56:16 -08:00
20140115.auth.3.unlimit.php Remove session limits and sequencing 2014-01-15 17:27:59 -08:00
20140115.legalpadsigkey.sql Legalpad - add policy rule for legalpad document signatures 2014-01-15 16:48:44 -08:00
20140116.reporefcursor.sql Introduce ref cursors for repository parsing 2014-01-17 11:48:53 -08:00
20140126.diff.1.parentrevisionid.sql Update DifferentialDiff: add repositoryPHID, drop parentRevisionID 2014-01-26 15:29:22 -08:00
20140126.diff.2.repositoryphid.sql Update DifferentialDiff: add repositoryPHID, drop parentRevisionID 2014-01-26 15:29:22 -08:00
20140130.dash.1.board.sql Add initial skeleton for Dashboard application 2014-01-30 11:43:24 -08:00
20140130.dash.2.panel.sql Add initial skeleton for Dashboard application 2014-01-30 11:43:24 -08:00
20140130.dash.3.boardxaction.sql Add edit/view plumbing for dashboards and panels 2014-02-03 10:52:15 -08:00
20140130.dash.4.panelxaction.sql Add edit/view plumbing for dashboards and panels 2014-02-03 10:52:15 -08:00
20140130.mail.1.retry.sql Remove retry/failure mechanisms from MetaMTA 2014-02-01 14:35:42 -08:00
20140130.mail.2.next.sql Remove retry/failure mechanisms from MetaMTA 2014-02-01 14:35:42 -08:00
20140201.gc.1.mailsent.sql Add a GC for sent and received mail 2014-02-03 10:51:31 -08:00
20140201.gc.2.mailreceived.sql Add a GC for sent and received mail 2014-02-03 10:51:31 -08:00
20140205.cal.1.rename.sql Rename PhabricatorUserStatus to PhabricatorCalendarEvent 2014-02-06 10:07:29 -08:00
20140205.cal.2.phid-col.sql Assign PHIDs to calendar events 2014-02-06 10:10:43 -08:00
20140205.cal.3.phid-mig.php Assign PHIDs to calendar events 2014-02-06 10:10:43 -08:00
20140205.cal.4.phid-key.sql Assign PHIDs to calendar events 2014-02-06 10:10:43 -08:00
20140210.herald.rule-condition-mig.php Herald - make herald condition of herald rule display better 2014-02-10 14:40:09 -08:00
20140210.projcfield.1.blurb.php Migrate project blurb/description to standard custom field storage 2014-02-10 14:31:57 -08:00
20140210.projcfield.2.piccol.sql Migrate project profiles onto projects, and remove ProjectProfile object 2014-02-10 14:32:14 -08:00
20140210.projcfield.3.picmig.sql Migrate project profiles onto projects, and remove ProjectProfile object 2014-02-10 14:32:14 -08:00
20140210.projcfield.4.memmig.sql Modernize remaining edge types 2015-01-03 10:58:20 +11:00
20140210.projcfield.5.dropprofile.sql [Later] Drop the project profile table 2014-04-24 08:15:24 -07:00
20140211.dx.1.nullablechangesetid.sql Migrate all Differential comment text into new storage 2014-02-11 11:34:15 -08:00
20140211.dx.2.migcommenttext.php Rename PHIDType classes 2014-07-24 08:05:46 +10:00
20140211.dx.3.migsubscriptions.sql Modernize remaining edge types 2015-01-03 10:58:20 +11:00
20140211.dx.999.drop.relationships.sql Drop differential_relationship table 2014-06-22 08:12:11 -07:00
20140212.dx.1.armageddon.php Migrate Differential revision edges to use modern EdgeType subclasses 2015-01-01 15:07:03 +11:00
20140214.clean.1.legacycommentid.sql There are too many m's 2014-09-14 16:30:46 -07:00
20140214.clean.2.dropcomment.sql Drop DifferentialComment and DifferentialInlineComment 2014-06-24 05:29:54 -07:00
20140214.clean.3.dropinline.sql Drop DifferentialComment and DifferentialInlineComment 2014-06-24 05:29:54 -07:00
20140218.differentialdraft.sql Differential - add DifferentialDraft to track whether revisions have draft feedback or not 2014-02-18 16:25:16 -08:00
20140218.passwords.1.extend.sql Provide more storage space for password hashes and migrate existing hashes to "md5:" 2014-02-18 14:09:36 -08:00
20140218.passwords.2.prefix.sql Provide more storage space for password hashes and migrate existing hashes to "md5:" 2014-02-18 14:09:36 -08:00
20140218.passwords.3.vcsextend.sql Modernize VCS password storage to use shared hash infrastructure 2014-02-18 14:09:36 -08:00
20140218.passwords.4.vcs.php Modernize VCS password storage to use shared hash infrastructure 2014-02-18 14:09:36 -08:00
20140223.bigutf8scratch.sql Add test coverage that our definition of BMP agrees with MySQL 2014-02-23 16:20:38 -08:00
20140224.dxclean.1.datecommitted.sql Remove "dateCommitted" field from DifferentialRevision 2014-02-25 12:36:14 -08:00
20140226.dxcustom.1.fielddata.php Migrate old AuxiliaryField storage to modern CustomField storage 2014-02-26 16:52:30 -08:00
20140226.dxcustom.99.drop.sql Drop old Differential custom field storage 2014-06-22 08:15:14 -07:00
20140228.dxcomment.1.sql Make "EditPro" controller work with diff updates 2014-02-28 16:49:22 -08:00
20140305.diviner.1.slugcol.sql Fix Diviner links to articles by title 2014-03-05 12:07:26 -08:00
20140305.diviner.2.slugkey.sql Fix Diviner links to articles by title 2014-03-05 12:07:26 -08:00
20140311.mdroplegacy.sql Drop Maniphest legacy transaction table 2014-03-12 06:04:45 -07:00
20140314.projectcolumn.1.statuscol.sql Workboards - let users delete columns 2014-03-18 10:40:31 -07:00
20140314.projectcolumn.2.statuskey.sql Workboards - let users delete columns 2014-03-18 10:40:31 -07:00
20140317.mupdatedkey.sql Add "Date Updated" query fields for Maniphest 2014-03-17 15:53:07 -07:00
20140321.harbor.1.bxaction.sql Use ApplicationTransactions and CustomField to implement build steps 2014-03-25 16:08:40 -07:00
20140321.mstatus.1.col.sql Use string constants, not integer constants, to represent task status internally 2014-03-25 13:58:14 -07:00
20140321.mstatus.2.mig.php Use string constants, not integer constants, to represent task status internally 2014-03-25 13:58:14 -07:00
20140323.harbor.1.renames.php Rename concrete Harbormaster step implementations 2014-03-25 16:09:51 -07:00
20140323.harbor.2.message.sql Allow external systems to send messages to build targets 2014-03-25 16:11:28 -07:00
20140325.push.1.event.sql Provide a real object ("PhabricatorRepositoryPushEvent") to represent an entire push transaction 2014-03-26 13:51:06 -07:00
20140325.push.2.eventphid.sql Provide a real object ("PhabricatorRepositoryPushEvent") to represent an entire push transaction 2014-03-26 13:51:06 -07:00
20140325.push.3.groups.php Provide a real object ("PhabricatorRepositoryPushEvent") to represent an entire push transaction 2014-03-26 13:51:06 -07:00
20140325.push.4.prune.sql Provide a real object ("PhabricatorRepositoryPushEvent") to represent an entire push transaction 2014-03-26 13:51:06 -07:00
20140326.project.1.colxaction.sql Workboards - add column detail page 2014-03-26 14:40:47 -07:00
20140328.releeph.1.productxaction.sql Rename Releeph "Project" transactions to "Product" 2014-03-29 09:15:09 -07:00
20140330.flagtext.sql Allow very long notes on flags 2014-03-30 19:51:46 -07:00
20140402.actionlog.sql Add semi-generic rate limiting infrastructure 2014-04-03 11:22:38 -07:00
20140410.accountsecret.1.sql Use better secrets in generating account tokens 2014-04-10 11:45:10 -07:00
20140410.accountsecret.2.php Use better secrets in generating account tokens 2014-04-10 11:45:10 -07:00
20140416.harbor.1.sql Drop nonsense buildStatus field from Buildable 2014-04-17 16:01:06 -07:00
20140420.rel.1.objectphid.sql Add "requestedObjectPHID" to ReleephRequest 2014-04-20 11:55:18 -07:00
20140420.rel.2.objectmig.php Migrate Differential revision edges to use modern EdgeType subclasses 2015-01-01 15:07:03 +11:00
20140421.slowvotecolumnsisclosed.sql Ability to close poll 2014-04-24 12:02:56 -07:00
20140423.session.1.hisec.sql Add "High Security" mode to support multi-factor auth 2014-04-27 17:31:11 -07:00
20140427.mfactor.1.sql Add multi-factor auth and TOTP support 2014-04-28 09:27:11 -07:00
20140430.auth.1.partial.sql Require multiple auth factors to establish web sessions 2014-05-01 10:23:02 -07:00
20140430.dash.1.paneltype.sql Add dashboard panel types 2014-04-30 14:28:20 -07:00
20140430.dash.2.edge.sql Allow panels to appear on dashboards 2014-04-30 14:28:55 -07:00
20140501.passphraselockcredential.sql Add a "Lock Permanently" action to Passphrase 2014-05-02 18:21:51 -07:00
20140501.remove.1.dlog.sql Implement bin/remove, for structured destruction of objects 2014-05-01 18:23:31 -07:00
20140507.smstable.sql Add SMS support 2014-05-09 12:47:21 -07:00
20140509.coverage.1.sql Provide a rough, unstable API for reporting coverage into Diffusion 2014-05-17 16:10:54 -07:00
20140509.dashboardlayoutconfig.sql Dashboards - add layout mode to dashboards 2014-05-15 19:12:40 -07:00
20140512.dparents.1.sql Record parent relationships when discovering commits 2014-05-12 11:47:22 -07:00
20140514.harbormasterbuildabletransaction.sql Show command transactions in Harbormaster builds 2014-05-15 07:04:34 -07:00
20140514.pholiomockclose.sql Close pholio mocks 2014-05-19 11:34:23 -07:00
20140515.trust-emails.sql can now tell phabricator you trust an auth provider's emails (useful for Google OAuth), which will mark emails as "verified" and will skip email verification. 2014-05-16 14:14:06 -07:00
20140517.dxbinarycache.sql Fix binary/utf8 issues with Differential changeset parse cache 2014-05-17 16:34:13 -07:00
20140518.dxmorebinarycache.sql Change LONGTEXT cache column to BINARY 2014-05-17 22:38:56 -07:00
20140519.dashboardinstall.sql Dashboards - add ability to install dashboard as home 2014-05-19 16:09:31 -07:00
20140520.authtemptoken.sql Add "temporary tokens" to auth, for SMS codes, TOTP codes, reset codes, etc 2014-05-20 11:43:45 -07:00
20140521.projectslug.1.create.sql Projects - add "Additional Hashtags" to projects 2014-05-22 11:19:03 -07:00
20140521.projectslug.2.mig.php Projects - add "Additional Hashtags" to projects 2014-05-22 11:19:03 -07:00
20140522.projecticon.sql Project - add ability to select an icon for typeaheads and such 2014-05-23 10:41:24 -07:00
20140524.auth.mfa.cache.sql Allow installs to require multi-factor authentication for all users 2014-06-03 16:50:27 -07:00
20140525.hunkmodern.sql Add an alternate "modern" hunk datastore 2014-06-03 18:01:22 -07:00
20140615.pholioedit.1.sql Give Pholio mocks a configurable edit policy 2014-06-15 10:28:16 -07:00
20140615.pholioedit.2.sql Give Pholio mocks a configurable edit policy 2014-06-15 10:28:16 -07:00
20140617.daemon.explicit-argv.sql Unify the local and global view for ./bin/phd status. 2014-06-18 11:44:52 +10:00
20140617.daemonlog.sql Garbage collect daemon logs 2014-06-17 15:33:08 -07:00
20140624.projcolor.1.sql Allow projects icon color to be selected from several fabulous shades 2014-06-25 22:01:58 -07:00
20140624.projcolor.2.sql Allow projects icon color to be selected from several fabulous shades 2014-06-25 22:01:58 -07:00
20140629.dasharchive.1.sql Allow dashboard panels to be archived 2014-07-01 17:50:28 -07:00
20140629.legalsig.1.sql Allow users to search for signatures by name and email substrings 2014-06-29 07:51:03 -07:00
20140629.legalsig.2.php Allow users to search for signatures by name and email substrings 2014-06-29 07:51:03 -07:00
20140701.legalexemption.1.sql Allow Legalpad document managers to add signature exemptions 2014-07-02 04:59:35 -07:00
20140701.legalexemption.2.sql Allow Legalpad document managers to add signature exemptions 2014-07-02 04:59:35 -07:00
20140703.legalcorp.1.sql Allow Legalpad documents to designate corporate signers 2014-07-04 08:04:28 -07:00
20140703.legalcorp.2.sql Allow Legalpad documents to designate corporate signers 2014-07-04 08:04:28 -07:00
20140703.legalcorp.3.sql Allow Legalpad documents to designate corporate signers 2014-07-04 08:04:28 -07:00
20140703.legalcorp.4.sql Allow Legalpad documents to designate corporate signers 2014-07-04 08:04:28 -07:00
20140703.legalcorp.5.sql Allow Legalpad documents to designate corporate signers 2014-07-04 08:04:28 -07:00
20140704.harbormasterstep.1.sql Allow users to specify names of build steps 2014-07-05 01:56:02 +10:00
20140704.harbormasterstep.2.sql Allow users to specify names of build steps 2014-07-05 01:56:02 +10:00
20140704.legalpreamble.1.sql Add an optional preamble to Legalpad documents 2014-07-04 09:41:27 -07:00
20140706.harbormasterdepend.1.php Implement build simulation; convert Harbormaster to be purely dependency based 2014-07-31 11:39:49 +10:00
20140706.pedge.1.sql Move task/project storage to edges 2014-07-17 15:42:30 -07:00
20140711.pnames.1.sql Give projects a proper on-demand datasource 2014-07-17 16:35:54 -07:00
20140711.pnames.2.php Give projects a proper on-demand datasource 2014-07-17 16:35:54 -07:00
20140711.workerpriority.sql Allow worker tasks to have priorities 2014-07-12 03:02:06 +10:00
20140712.projcoluniq.sql Remove uniqueness constraint from "sequence" key in project column table 2014-07-12 11:24:35 -07:00
20140721.phortune.1.cart.sql Phortune Carts and Purchases 2014-07-23 10:34:08 -07:00
20140721.phortune.2.purchase.sql Phortune Carts and Purchases 2014-07-23 10:34:08 -07:00
20140721.phortune.3.charge.sql Phortune Charges 2014-07-23 10:36:12 -07:00
20140721.phortune.4.cartstatus.sql Phortune Cart Status, some one-time support 2014-07-23 10:36:25 -07:00
20140721.phortune.5.cstatusdefault.sql Phortune Cart Status, some one-time support 2014-07-23 10:36:25 -07:00
20140721.phortune.6.onetimecharge.sql Phortune Cart Status, some one-time support 2014-07-23 10:36:25 -07:00
20140721.phortune.7.nullmethod.sql Phortune Cart Status, some one-time support 2014-07-23 10:36:25 -07:00
20140722.appname.php Rename PhabricatorApplication subclasses 2014-07-23 10:03:09 +10:00
20140722.audit.1.xactions.sql Add storage for new audit transactions and comments 2014-07-24 17:59:43 -07:00
20140722.audit.2.comments.sql Add storage for new audit transactions and comments 2014-07-24 17:59:43 -07:00
20140722.audit.3.miginlines.php Migrate Audit inline comments to new storage 2014-07-24 17:59:54 -07:00
20140722.audit.4.migtext.php Migrate Audit comment text into new storage 2014-07-24 18:00:30 -07:00
20140722.renameauth.php Fix incorrect old name for Asana auth provider in provider migration 2014-07-23 09:46:06 -07:00
20140723.apprenamexaction.sql Add a missing migration for transaction actors 2014-07-23 23:49:22 +10:00
20140725.audit.1.migxactions.php Migrate audit comments to transactions 2014-07-28 15:00:46 -07:00
20140731.audit.1.subscribers.php Modernize remaining edge types 2015-01-03 10:58:20 +11:00
20140731.cancdn.php Protect file data with a one-time-token 2014-08-11 07:32:17 -07:00
20140731.harbormasterstepdesc.sql Use tabs on build targets and allow build steps to have a description 2014-08-01 08:09:15 +10:00
20140805.boardcol.1.sql Move board relationships to dedicated storage 2014-08-06 15:09:09 -07:00
20140805.boardcol.2.php Move board relationships to dedicated storage 2014-08-06 15:09:09 -07:00
20140807.harbormastertargettime.sql Measure how long build targets take in Harbormaster 2014-08-12 08:34:43 +10:00
20140808.boardprop.1.sql Allow the workboard backlog column to be reordered 2014-08-08 15:50:36 -07:00
20140808.boardprop.2.sql Allow the workboard backlog column to be reordered 2014-08-08 15:50:36 -07:00
20140808.boardprop.3.php Allow the workboard backlog column to be reordered 2014-08-08 15:50:36 -07:00
20140811.blob.1.sql Convert pushlog and refcursor to BLOB storage 2014-08-11 12:29:46 -07:00
20140811.blob.2.sql Convert pushlog and refcursor to BLOB storage 2014-08-11 12:29:46 -07:00
20140812.projkey.1.sql Allow projects to be filtered by icon and color 2014-08-12 08:04:38 -07:00
20140812.projkey.2.sql Allow projects to be filtered by icon and color 2014-08-12 08:04:38 -07:00
20140814.passphrasecredentialconduit.sql Implement passphrase.query for querying credentials 2014-08-16 22:41:03 +10:00
20140815.cancdncase.php Migrate "cancdn" to "canCDN" in the database 2014-08-15 11:07:40 -07:00
20140818.harbormasterindex.1.sql Create an index on harbormaster_buildlog to reduce page load times 2014-08-20 09:19:57 +10:00
20140821.harbormasterbuildgen.1.sql Implement build generations in Harbormaster 2014-08-21 22:55:24 +10:00
20140822.daemonenvhash.sql Daemons - add a config check for out of date daemon environment 2014-08-22 14:52:36 -07:00
20140902.almanacdevice.1.sql Make Currency a more formal type 2014-10-06 10:26:48 -07:00
20140904.macroattach.php Modernize remaining edge types 2015-01-03 10:58:20 +11:00
20140911.fund.1.initiative.sql Scaffolding for Fund 2014-09-11 13:38:58 -07:00
20140911.fund.2.xaction.sql Scaffolding for Fund 2014-09-11 13:38:58 -07:00
20140911.fund.3.edge.sql Scaffolding for Fund 2014-09-11 13:38:58 -07:00
20140911.fund.4.backer.sql Allow users to back initiatives in Fund 2014-09-12 06:31:11 -07:00
20140911.fund.5.backxaction.sql Allow users to back initiatives in Fund 2014-09-12 06:31:11 -07:00
20140914.betaproto.php Rename "beta" to "prototype" and document support policy 2014-09-17 18:25:57 -07:00
20140917.project.canlock.sql Projects - add "lock membership", which prevents people from leaving 2014-09-18 11:00:50 -07:00
20140918.schema.1.dropaudit.sql Drop old Audit tables; make markup cache binary 2014-09-19 05:44:29 -07:00
20140918.schema.2.dropauditinline.sql Drop old Audit tables; make markup cache binary 2014-09-19 05:44:29 -07:00
20140918.schema.3.wipecache.sql Drop old Audit tables; make markup cache binary 2014-09-19 05:44:29 -07:00
20140918.schema.4.cachetype.sql Drop old Audit tables; make markup cache binary 2014-09-19 05:44:29 -07:00
20140918.schema.5.slowvote.sql Remove SlowvoteComment and storage 2014-09-19 05:45:36 -07:00
20140919.schema.01.calstatus.sql Generate expected schemata for Calendar 2014-09-19 11:46:20 -07:00
20140919.schema.02.calname.sql Generate expected schemata for Calendar 2014-09-19 11:46:20 -07:00
20140919.schema.03.dropaux.sql Generate expected schemata for Maniphest 2014-09-19 11:46:44 -07:00
20140919.schema.04.droptaskproj.sql Generate expected schemata for Maniphest 2014-09-19 11:46:44 -07:00
20140926.schema.01.droprelev.sql Generate expected schemata for Releeph 2014-09-28 15:12:41 -07:00
20140926.schema.02.droprelreqev.sql Generate expected schemata for Releeph 2014-09-28 15:12:41 -07:00
20140926.schema.03.dropldapinfo.sql Generate expected schemata for User/People tables 2014-10-01 07:36:47 -07:00
20140926.schema.04.dropoauthinfo.sql Generate expected schemata for User/People tables 2014-10-01 07:36:47 -07:00
20140926.schema.05.dropprojaffil.sql Generate expected Project schemata 2014-10-01 07:37:01 -07:00
20140926.schema.06.dropsubproject.sql Generate expected Project schemata 2014-10-01 07:37:01 -07:00
20140926.schema.07.droppondcom.sql Generate expected Ponder schemata 2014-10-01 07:37:14 -07:00
20140927.schema.01.dropsearchq.sql Generate expected schemata for Search 2014-10-01 07:53:35 -07:00
20140927.schema.02.pholio1.sql Destroy surplus columns 2014-10-01 07:54:33 -07:00
20140927.schema.03.pholio2.sql Destroy surplus columns 2014-10-01 07:54:33 -07:00
20140927.schema.04.pholio3.sql Destroy surplus columns 2014-10-01 07:54:33 -07:00
20140927.schema.05.phragment1.sql Destroy surplus columns 2014-10-01 07:54:33 -07:00
20140927.schema.06.releeph1.sql Destroy surplus columns 2014-10-01 07:54:33 -07:00
20141001.schema.01.version.sql Drop very old schema_version table if it exists 2014-10-01 12:43:20 -07:00
20141001.schema.02.taskmail.sql Truncate very old, overlong Maniphest mail keys 2014-10-01 12:43:58 -07:00
20141002.schema.01.liskcounter.sql Automatically build all Lisk schemata 2014-10-02 09:51:20 -07:00
20141002.schema.02.draftnull.sql Correct column mutations for old versions of MySQL 2014-10-02 14:44:22 -07:00
20141004.currency.01.sql Make Currency a more formal type 2014-10-06 10:26:48 -07:00
20141004.currency.02.sql Make Currency a more formal type 2014-10-06 10:26:48 -07:00
20141004.currency.03.sql Make Currency a more formal type 2014-10-06 10:26:48 -07:00
20141004.currency.04.sql Make Currency a more formal type 2014-10-06 10:26:48 -07:00
20141004.currency.05.sql Make Currency a more formal type 2014-10-06 10:26:48 -07:00
20141004.currency.06.sql Make Currency a more formal type 2014-10-06 10:26:48 -07:00
20141004.harborliskcounter.sql Make Currency a more formal type 2014-10-06 10:26:48 -07:00
20141005.phortuneproduct.sql Move Phortune product logic into applications 2014-10-06 10:30:06 -07:00
20141006.phortunecart.sql Give applications control over Phortune cart logic 2014-10-06 14:19:08 -07:00
20141006.phortunemerchant.sql Add Merchants to Phortune 2014-10-07 10:55:16 -07:00
20141006.phortunemerchantx.sql Add Merchants to Phortune 2014-10-07 10:55:16 -07:00
20141007.fundmerchant.sql Adjust payment workflows to deal with merchants and configurable providers in Phortune 2014-10-07 14:41:59 -07:00
20141007.fundrisks.sql Make Fund backers render a little more nicely 2014-10-08 05:32:42 -07:00
20141007.fundtotal.sql Track total funding amount on Fund initiatives 2014-10-08 05:31:48 -07:00
20141007.phortunecartmerchant.sql Adjust payment workflows to deal with merchants and configurable providers in Phortune 2014-10-07 14:41:59 -07:00
20141007.phortunecharge.sql Adjust payment workflows to deal with merchants and configurable providers in Phortune 2014-10-07 14:41:59 -07:00
20141007.phortunepayment.sql Adjust payment workflows to deal with merchants and configurable providers in Phortune 2014-10-07 14:41:59 -07:00
20141007.phortuneprovider.sql Make payment providers a configurable property of Merchants in Phortune 2014-10-07 14:41:41 -07:00
20141007.phortuneproviderx.sql Make payment providers a configurable property of Merchants in Phortune 2014-10-07 14:41:41 -07:00
20141008.phortunemerchdesc.sql Allow merchants to disable payment providers and show more UI info 2014-10-08 08:31:24 -07:00
20141008.phortuneprovdis.sql Allow merchants to disable payment providers and show more UI info 2014-10-08 08:31:24 -07:00
20141008.phortunerefund.sql Mostly implement order refunds and cancellations 2014-10-08 15:33:25 -07:00
20141010.fundmailkey.sql Support feed and email in Fund 2014-10-10 11:29:42 -07:00
20141011.phortunemerchedit.sql Give Phortune merchants explicit members 2014-10-13 11:13:50 -07:00
20141012.phortunecartxaction.sql Add cart transactions to Phortune 2014-10-13 11:16:27 -07:00
20141013.phortunecartkey.sql Send mail about cart/order changes from Phortune 2014-10-13 11:16:44 -07:00
20141016.almanac.device.sql Build AlmanacDevice UI 2014-10-17 05:02:14 -07:00
20141016.almanac.dxaction.sql Build AlmanacDevice UI 2014-10-17 05:02:14 -07:00
20141016.almanac.interface.sql Build AlmanacInterface 2014-10-17 05:04:24 -07:00
20141016.almanac.network.sql Build AlmanacNetwork 2014-10-17 05:04:02 -07:00
20141016.almanac.nxaction.sql Build AlmanacNetwork 2014-10-17 05:04:02 -07:00
20141016.almanac.service.sql Build AlmanacService 2014-10-17 05:01:57 -07:00
20141016.almanac.sxaction.sql Build AlmanacService 2014-10-17 05:01:57 -07:00
20141017.almanac.binding.sql Add AlmanacBinding, to bind a service to an interface 2014-10-27 13:39:36 -07:00
20141017.almanac.bxaction.sql Add AlmanacBinding, to bind a service to an interface 2014-10-27 13:39:36 -07:00
20141025.phriction.1.xaction.sql Phriction - start the move towards transactions and an editor 2014-10-30 08:59:21 -07:00
20141025.phriction.2.xaction.sql Phriction - start the move towards transactions and an editor 2014-10-30 08:59:21 -07:00
20141025.phriction.mailkey.sql Phriction - start the move towards transactions and an editor 2014-10-30 08:59:21 -07:00
20141103.almanac.1.delprop.sql Give Almanac generic, custom-field-based properties 2014-11-05 15:27:16 -08:00
20141103.almanac.2.addprop.sql Give Almanac generic, custom-field-based properties 2014-11-05 15:27:16 -08:00
20141104.almanac.3.edge.sql Implement PhabricatorProjectInterface on Almanac Services and Devices 2014-11-05 15:30:00 -08:00
20141105.ssh.1.rename.sql Move SSHKey table to Auth database 2014-11-06 12:37:22 -08:00
20141106.dropold.sql Update the quickstart.sql 2014-11-07 12:29:24 -08:00
20141106.uniqdrafts.php Force Differential draft uniqueness 2014-11-07 12:30:00 -08:00
20141107.phriction.policy.1.sql Phriction - add viewPolicy and editPolicy back-end data 2014-11-07 15:35:28 -08:00
20141107.phriction.policy.2.php Fix Phriction document migration after project magic removal 2014-11-11 17:55:27 -08:00
20141107.phriction.popkeys.php Retroactively populate Phriction mailKey column 2014-11-07 09:48:15 -08:00
20141107.ssh.1.colname.sql Standardize SSH key storage 2014-11-07 15:34:44 -08:00
20141107.ssh.2.keyhash.sql Standardize SSH key storage 2014-11-07 15:34:44 -08:00
20141107.ssh.3.keyindex.sql Standardize SSH key storage 2014-11-07 15:34:44 -08:00
20141107.ssh.4.keymig.php Standardize SSH key storage 2014-11-07 15:34:44 -08:00
20141107.ssh.5.indexnull.sql Standardize SSH key storage 2014-11-07 15:34:44 -08:00
20141107.ssh.6.indexkey.sql Standardize SSH key storage 2014-11-07 15:34:44 -08:00
20141107.ssh.7.colnull.sql Standardize SSH key storage 2014-11-07 15:34:44 -08:00
20141113.auditdupes.php Audit - delete duplicate audit requests and add unique key 2014-11-13 16:11:57 -08:00
20141118.diffxaction.sql Differential - make DifferentialDiffEditor into a real transaction editor. 2014-11-18 15:32:23 -08:00
20141119.commitpedge.sql Diffusion - make projects work properly with commits 2014-11-19 14:43:59 -08:00
20141119.differential.diff.policy.sql Differential - allow setting viewPolicy from web ui during diff creation process 2014-11-19 12:16:07 -08:00
20141119.sshtrust.sql Allow device SSH keys to be trusted 2014-11-20 17:33:30 -08:00
20141123.taskpriority.1.sql Reverse meaning of task priority column 2014-11-24 11:10:35 -08:00
20141123.taskpriority.2.sql Reverse meaning of task priority column 2014-11-24 11:10:35 -08:00
20141210.maniphestsubscribersmig.1.sql Maniphest - use subscribers framework properly 2014-12-10 16:27:30 -08:00
20141210.maniphestsubscribersmig.2.sql Maniphest - use subscribers framework properly 2014-12-10 16:27:30 -08:00
20141210.reposervice.sql Allow repositories to be bound to an AlmanacService 2014-12-12 12:07:11 -08:00
20141212.conduittoken.sql Add Conduit Tokens to make authentication in Conduit somewhat more sane 2014-12-15 11:14:23 -08:00
20141215.almanacservicetype.sql Give AlmanacServices a service type 2014-12-17 11:10:27 -08:00
20141217.almanacdevicelock.sql Allow Almanac services to be locked 2014-12-18 14:31:36 -08:00
20141217.almanaclock.sql Allow Almanac services to be locked 2014-12-18 14:31:36 -08:00
20141218.maniphestcctxn.php Maniphest - convert old CC transactions to modern SUBSCRIBER transactions 2014-12-18 14:42:46 -08:00
20141222.maniphestprojtxn.php Maniphest - kill TYPE_PROJECTS 2014-12-22 11:54:02 -08:00
20141223.daemonloguser.sql Start phd daemons as the correctly configured user and refuse otherwise 2014-12-23 08:15:51 -08:00
20141223.daemonobjectphid.sql Daemons - add "objectPHID" to task tables. 2014-12-23 16:30:05 -08:00
20141230.pasteeditpolicycolumn.sql Paste: Add edit policy 2014-12-31 08:24:57 -08:00
20141230.pasteeditpolicyexisting.sql Paste: Add edit policy 2014-12-31 08:24:57 -08:00
20150102.policyname.php Rename PhabricatorPolicyRule subclasses for consistency 2015-01-03 23:48:55 +11:00
20150102.tasksubscriber.sql Remove deprecated task subscriber class 2015-01-03 11:32:14 +11:00
20150105.conpsearch.sql Build a Conpherence thread index 2015-01-06 10:24:30 -08:00
20150114.oauthserver.client.policy.sql OAuthServer - hide client secret behind a "View Secret" action 2015-01-14 17:27:45 -08:00
20150115.trigger.1.sql Implement clock/trigger infrastructure for scheduling actions 2015-01-16 12:13:31 -08:00
20150115.trigger.2.sql Implement clock/trigger infrastructure for scheduling actions 2015-01-16 12:13:31 -08:00