• Timothy Andrew's avatar
    Make `ChangePersonalAccessTokensDefaultBackToEmptyArray` a "post" migration. · eb434b15
    Timothy Andrew authored
    If we leave this as a regular migration, we could have the following flow:
    
    1. Application knows nothing about scopes.
    2. First migration runs, all existing personal access tokens have `api` scope
    3. Application still knows nothing about scopes.
    4. Second migration runs, all tokens created after this point have no scope
    5. Application still knows nothing about scopes.
    6. Tokens created at this time _should have the API scope, but instead have no scope_
    7. Application code is reloaded, application knows about scopes
    8. Tokens created after this point only have no scope if the user deliberately
       chooses to have no scopes.
    
    Point #6 is the problem here. To avoid this, we move the second migration to a
    "post" migration, which runs after the application code is deployed/reloaded.
    eb434b15