-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Push results in DB reset #54
Comments
@seanr can you share more of your log? The db should be copied from Live to Dev as part of the CI process. |
LOL, so that's exactly the problem, then. Live doesn't exist yet as this is a site currently in development, @stevector. Unfortunately, I don't know how to get a copy of the entire dump out of CircleCI - please tell me I don't have to copy each build step one at a time? |
The workflow in this repo presumes the existence of a live environment. From the README
The orb has a |
@stevector what's the best setup to use where there is content in dev related to new functionality that is not yet in live? This functionality makes sense to me for multidevs (pulling from a specified environment), but deploying directly to dev (pushing commits on master) shouldn't be doing anything to the dev DB other than running the updates and clearing caches, IMO. On a larger project, I'd be using feature branches, of course, but this is a small one early on and I'm the only dev on it. ;) |
Yeah the baseline Pantheon workflow assumes that code changes and content changes are flowing in opposite directions. That assumption is can be actively unhelpful in very early project states if you're working on content and code/config simultaneously and you don't want the arrows of changes flowing in opposite directions. If the workflow you're doing right now is one where the meaningful changes to both code and content need to happen in the same place, I think you might be better off treating a local environment as the place changes to both happen and GitHub and a Pantheon DB server act as recipients of those changes. Or just setting But maybe I should first ask, for the project you're working on now, do you expect to get soon get to a point where code and content changes are flowing in opposite directions? Because if this project isn't aiming for that workflow, then the project needs are fighting against the workflow these tools were designed for. |
It will, but it just got started. Thanks for the help. To make this issue actionable, I would suggest a check that the live environment (or whichever has been configured to clone from) actually exist before initiating the clone. Furthermore, the readme only mentions cloning to multidev, not to the dev environment. Really, we should not be wiping dev ever, instead letting the dev team (assuming a bigger project than mine) chose when to do that. A very common workflow on big projects I've been on have the bottom arrows on that workflow graph basically stop at test, with further pulls down to dev being arbitrary and explicitly manual depending on the project status. When the site launches, automated Live->Test->Dev clones like you seem to describe would be fine, but now big project 2 begins and we're creating a bunch of test content on dev to show the client functionality of new features we're building. Maybe we're adding a complex store (this actually describes exactly my last project, using Drupal Commerce and D9, but on Acquia). There's a ton of stuff being done on dev that will never see the light of day because it'll be replaced by real content when such is read, but must be there both to test integrating functionality and to show sprint updates to the client. That scenario would be broken by this tool as I've experienced it even though live would exist (and would in fact be live) because now you're blowing away our dev content with each push/merge, apparently. Because of this, I actually think So that leaves one remaining question: with |
Thanks for the input @seanr! I'm transferring this issue here to the circleci-orb repo. And arguably this issue belongs in https://github.com/pantheon-systems/terminus-build-tools-plugin cc @sugaroverflow |
I've set up the integration, which seems to work, but when I push new code, the db-update fails and my site redirects to the installer. Something is apparently wiping out the database in dev on each push. 😱
This shows up as a failed step in my build process:
The bootstrap of course fails because the DB has already been borked at this point, but I can't see where that'd be happening. After restoring the DB, the same db-update run from my local terminus works fine.
The text was updated successfully, but these errors were encountered: