hydra icon indicating copy to clipboard operation
hydra copied to clipboard

CLI Migration Down

Open aaronpcz opened this issue 4 years ago • 4 comments

Is your feature request related to a problem? Please describe.

Currently, the CLI does not allow migrations to be reversed.

Some examples of why this might be important

  1. Rolling back to a prior version, in case of breaking changes or issues in software that projects do not have ownership or ability to update.

  2. Uninstalling hydra tables from a schema

Describe the solution you'd like

Would be great to be able to use the CLI tools with a new commend like migrate:undo. I've had a look at the migration files and the Down statements look like they've already been written. Just not exposed via a CLI command.

Describe alternatives you've considered

For example 2. this can be done manually.

EDIT: Link from community.ory.sh

aaronpcz avatar Mar 18 '20 13:03 aaronpcz

While this would certainly be useful for dev or test workflow, running this on a prod db could be catastrophic as it could lead to data loss. I remember explicitly disabling rake db:rollback for prod env(on another project) in the past to avoid this scenario. Maybe a bit more context would help plan the migrate:down better. For 1, it is also useful in ensuring backwards compatibility for the database schema so that schema rollbacks are not desired. Schema alteration become very expensive as the DB size grows on certain Db engines(looking at you Mysql).

harsimranmaan avatar Jul 21 '20 00:07 harsimranmaan

Yeah I agree, there will certainly be data loss.

aeneasr avatar Jul 21 '20 08:07 aeneasr

I am marking this issue as stale as it has not received any engagement from the community or maintainers in over half a year. That does not imply that the issue has no merit! If you feel strongly about this issue

  • open a PR referencing and resolving the issue;
  • leave a comment on it and discuss ideas how you could contribute towards resolving it;
  • open a new issue with updated details and a plan on resolving the issue.

We are cleaning up issues every now and then, primarily to keep the 4000+ issues in our backlog in check and to prevent maintainer burnout. Burnout in open source maintainership is a widespread and serious issue. It can lead to severe personal and health issues as well as enabling catastrophic attack vectors.

Thank you for your understanding and to anyone who participated in the issue! 🙏✌️

If you feel strongly about this issues and have ideas on resolving it, please comment. Otherwise it will be closed in 30 days!

github-actions[bot] avatar Sep 21 '21 00:09 github-actions[bot]

@harsimranmaan @aeneasr can this ticket be reviewed again please? We've faced hydra 1.10.7 doesn't work with database version of 1.11.8 after I rolled back, because Hydra's database client doesn't expect the registration_access_token_signature column in response.

And the only way to do the databsae rollback is only manual.

mih-kopylov avatar Jul 14 '22 15:07 mih-kopylov

Hello contributors!

I am marking this issue as stale as it has not received any engagement from the community or maintainers for a year. That does not imply that the issue has no merit! If you feel strongly about this issue

  • open a PR referencing and resolving the issue;
  • leave a comment on it and discuss ideas on how you could contribute towards resolving it;
  • leave a comment and describe in detail why this issue is critical for your use case;
  • open a new issue with updated details and a plan for resolving the issue.

Throughout its lifetime, Ory has received over 10.000 issues and PRs. To sustain that growth, we need to prioritize and focus on issues that are important to the community. A good indication of importance, and thus priority, is activity on a topic.

Unfortunately, burnout has become a topic of concern amongst open-source projects.

It can lead to severe personal and health issues as well as opening catastrophic attack vectors.

The motivation for this automation is to help prioritize issues in the backlog and not ignore, reject, or belittle anyone.

If this issue was marked as stale erroneously you can exempt it by adding the backlog label, assigning someone, or setting a milestone for it.

Thank you for your understanding and to anyone who participated in the conversation! And as written above, please do participate in the conversation if this topic is important to you!

Thank you 🙏✌️

github-actions[bot] avatar Jul 18 '23 00:07 github-actions[bot]