-
-
Notifications
You must be signed in to change notification settings - Fork 219
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
Please test 4.0.0b0 Release #415
Comments
Pinging @pulse-mind @Ajaysainisd @KessoumML @jerinpetergeorge @awtimmering @banagale @Archmonger |
I have been testing |
Hi, I tested on a project. I did a backup before upgrade after after upgrade. I've got a file a little bit bigger but the extension was psql.bin.gz. When I edit it with a txt editor it looks like a pgdump but before I got a psql file. |
I tested I am not using the compress options. |
@Ajaysainisd @KessoumML @jerinpetergeorge @awtimmering @banagale @zwiebelslayer Have any of you been able to test the @pulse-mind Could you help dissect which commit/PR made the change you are referring to? I didn't see anything super obvious related to compression in the changelog. |
I've gone ahead and confirmed that this package is critically broken, at least for SQLite. Although a backup is successfully made via the When restoring, the console will get swarmed with errors which fall into one of these three categories:
C:\Users\Repositories\Conreq\.venv\lib\site-packages\dbbackup\db\sqlite.py:77: UserWarning: Error in db restore: index silk_profile_queries_profile_id_sqlquery_id_b2403d9b_uniq already exists
C:\Users\Repositories\Conreq\.venv\lib\site-packages\dbbackup\db\sqlite.py:77: UserWarning: Error in db restore: near "579": syntax error
warnings.warn("Error in db restore: {}".format(err))
C:\Users\Repositories\Conreq\.venv\lib\site-packages\dbbackup\db\sqlite.py:77: UserWarning: Error in db restore: unrecognized token: "' 4802 function calls (4786 primitive calls) in 0.009 seconds
" @johnthagen Can you confirm if you can replicate this? I was able to replicate it easily on Windows 10 (sqlite) with both a fresh DB and old DB. |
Hi, Let me explain again because it was not clear enough:
Test B (on windows on 8 Jan 2022)
So I do not know why but on linux the compress does not work, may be I did not installed all the dependencies! This is fine for me there is no problem using binary connector by default. |
@Archmonger I wonder if your SQLite issue is related to #254 / #258 / #383 ? Also, could you confirm if this issue also exists for the 3.3.0 release? e.g. Is this a regression from 3.3.0 -> 4.0.0b0, or is this broken on the latest stable release too? |
@Archmonger I made a very disturbing discovery this morning. I noticed that the GitHub Actions aren't actually running the unit tests for this project. I opened #419 to fix this so that we can at least see the failing tests now. I'll need @jezdez to grant me permission on this repo again so we can force merge it (so that at least we can begin the work of attempting to fix things). |
@Archmonger I think taking a step back, let's get #419 merged and then I think we should consider trying to get the functional tests running in CI as well (#369). It looks like I know longer have admin on the project (need @jezdez for that), so I can't merge #419 at this time. I did confirm that the unit tests do not run for me under Windows, so there is likely at a minimum a Windows/SQLite issue. |
@johnthagen Based on the project description it should be using "traditional dump and restore mechanisms", but that description may no longer hold water as the years have passed. I believe we should wrap around Django's integrated Additionally, since 3.2 In terms of new features, we may want to consider remote backup by integrating with django-storages. |
@Archmonger This seems like a decent plan (a clean slate approach). I wonder if such drastic changes are needed to make a modern/maintainable code base if a separate package should be started from the ground up? |
In terms of porting, if we utilize the new Django internals for dumpdata, then we should expect zero backwards compatibility with the older backup files. If we do take such an extreme approach, the effort of porting vs a new package is fairly insignificant. I think the debate comes down to, do we continue development to support this fairly antiquated backup method, or do we break compatibility in exchange for using Django's new backup internals? I'm going to create a separate issue ticket specifically to discuss this project's future direction. It will outline what options we can possibly take moving forward. |
@johnthagen Issue has been created for everyone to discuss upon. I think we should keep it open for a month or two to give people time to voice their thoughts. |
@johnthagen do you feel comfortable with me pushing a 4.0 release? |
@Archmonger Given that there aren't any PRs to fix these issues and the beta fixes other issues (such as Django 4 support) I'm inclined to release it. Users can always pin to Do we have access to ReadTheDocs yet so that we can update the documentation? |
We do not have RTD access yet. I've reached out a couple times and still no response. |
I'd say feel free to go ahead and release 4.0.0 whenever you're ready. We bumped the major version to signal that this is a big change. |
Waiting for it impatiently 😊 Any update on the release schedule? |
@ZuluPro @jonathan-s Could you please grant @Archmonger and myself permissions to the ReadTheDocs site for this project? We should update the docs when doing the 4.0.0 release. |
I've tried various methods of contact with no success. In the event that we don't hear back from the original maintainers, I propose we rename this repo to django-dbbackup2 upon completing our backend rework. I personally prefer using GitHub Sites for docs rather than RTD, so we could consider that as an alternative to renaming. But with both scenarios we wouldn't be able to delete the former docs. Maybe we could see if there's a way to contact with RTD and see what they can do to help us? |
Main functionality is working for me. However, there are some serious problems with logging. I have in my setting:
and I still see INFO logs. Changing above to:
doesn't log anything |
Getting SuspiciousFileOperation error using Dropbox as storage from inside a Docker container even though compressed file uploads successfully and I am able to decompress. Django 4.0.3 settings.py
|
Yeah... That's another downside of this project using it's own backup logic. To my understanding, the backups are funneled through This problem shouldn't exist when we redesign things. See: |
@johnthagen I've reached out to RTD and am awaiting their response for ownership transfer. |
If you can demonstrate control of Pypi publishing and to this repository, RTD should come around on this issue in a responsive manner. Please post if you'd me to also reach out to them.
Is RTD access the only holdup at this point? (you have GH and PyPi write / publishing rights?) |
I've obtained ownership of the RTD recently. PyPI ownership has also been obtained a while ago. See this issue for where we are at |
Ah! This is great progress. Thank you. |
Hello, |
|
Is there a reasonable amount of time before this package should be considered spun back out of jazzband? For example, if @johnthagen is interested, is there a process for nominating and liberating a package? I recognize how challenging maintenance is, and want to give JB time to sort out internal issues. However, if this release isn’t unblocked by say August, is it fair to seriously start whatever process is necessary to move this package ahead? |
Yes - A transfer out of Jazzband is very much up for consideration. However, somewhat ironically, a transfer out of jazzband would be blocked the same issue: I should be able to awkwardly circumvent Jazzband for PyPI releases. But, we definitely should still reconsider this package's organization. |
4.0.0 has been manually released, circumventing formal Jazzband procedures. |
A new release
4.0.0b0
has been released onto PyPI: https://pypi.org/project/django-dbbackup/4.0.0b0/Because it has been over a year since the last release, the maintainers are asking users to test out this beta release. The main changes are that Django 4.0 is supported and the minimum supported Django is now 2.2, the oldest Django version still supported by the Django Team.
Please test this by running:
The text was updated successfully, but these errors were encountered: