-
Notifications
You must be signed in to change notification settings - Fork 92
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
[COST-2231] Upgrade to Django 4 #4844
Conversation
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #4844 +/- ##
=======================================
- Coverage 94.0% 94.0% -0.0%
=======================================
Files 374 374
Lines 30838 30841 +3
Branches 3663 3663
=======================================
Hits 28978 28978
- Misses 1196 1199 +3
Partials 664 664 |
|
2aead84
to
c382291
Compare
441f4f1
to
4f62011
Compare
/retest |
e5287e9
to
8790ae7
Compare
@@ -0,0 +1,20 @@ | |||
MIT License |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure I follow the thinking about adding this new license file. Yes, we added a file that uses the MIT license, but could we not just add it to the single file that uses it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not necessary but it makes it far easier to communicate the licenses used by the project. Otherwise it's necessary to inspect every file in the project to see how they are licensed.
c3e2eb9
to
7781607
Compare
koku/masu/management/commands/migrate_serial_to_identity_columns.py
Outdated
Show resolved
Hide resolved
* Remove gettext alias * Mocks for get_response required by middlewaremixin * Use method_decorator to apply neevr_cache on class method * Method set_context deprecated in DRF 3.12 in favor of requires_context * User Django RedisCache and remove django_redis library
* Update deprecated ‘warn’ method * Remove deprecated test case method * Remove deprecated Series.bool method * Correct docstring and class attribute name * Cleanup file handle * Fix flaky test This assert statement will always fail since the template schema does not yet exists. This test will only pass if another test runs before this test creates the template schema. * Update clone_schema.sql Do not define a custom sequence object since that is no longer required with the move to identity columns. Do not define a custom sequence object since that is no longer required with the move to identity columns. * Avoid unnecessary globals * Add management command to migrate serial ID columns to identity * Update license information Add correct copyright and license information to management command. Create project level licenses to reflect the use of multiple licenses within the project. * Improvements to serial to identity management command Use SQL composition rather than format strings to protect against SQL injection attacks. The risk is quite low, but it’s best to just do the right thing. Reorganize the code to avoid a nested function definiton and an unnecessary global variable that only needed to be local. * Add migration to update clone_schema function --------- Co-authored-by: Sam Doran <[email protected]> Co-authored-by: Michael Skarbek <[email protected]> Co-authored-by: David Nakabaale <[email protected]>
* Clean up unittest test_execute_query_with_group_by_tag_and_limit * Move Window after aggregation in group_by annotation Since the Window is used only to provide row numbers and there is no additional filtering done on the data in the Window, moving it after the ArrayAgg fixes the error encountered in Django 4.2 and returns the same data in the same order. * Check correct log level in test This works in Python 3.9 due to a bug in unittest. * Use test database name from settings instead of hard coding it * Use consistent name for test database * Correct patching in test
Currently we are relying on Django’s internal test setup to add a `test_` prefix to the default database name. This works fine most of the time but it’s better to be explicit.
This prevents tripping up flake8 and the need for an ignore or parenthesis
Handling this exclusively with the migrate_serial_to_identity_columns management command
2a4040e
to
0a2b01d
Compare
0a2b01d
to
7060573
Compare
/retest |
Jira Ticket
COST-2231
Description
This change will:
Testing
Stop server containers
Update template schema and
clone_schema
SQL functionOr update all schemas
Rebuild and start server contaiters
Create test customer and load data. You may need to delete existing sources first.
Observe data processing
Verify sources were created and cost data was loaded
Verify template schema was correctly updated in database. Look for the ID column to be generated as identity. Do this on as many tables as you wish.
Verify the
clone_schema
SQL function was updatedRun tests