Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenStack
oslo
python-oslo.db
Commits
f9bbfe63
Commit
f9bbfe63
authored
Jul 20, 2022
by
Zuul
Committed by
Gerrit Code Review
Jul 20, 2022
Browse files
Merge "tests: Enable SAWarning warnings"
parents
00b5d257
2c7c0cab
Changes
2
Hide whitespace changes
Inline
Side-by-side
oslo_db/sqlalchemy/utils.py
View file @
f9bbfe63
...
...
@@ -39,6 +39,7 @@ from sqlalchemy import Index
from
sqlalchemy
import
inspect
from
sqlalchemy
import
Integer
from
sqlalchemy
import
MetaData
from
sqlalchemy
import
PrimaryKeyConstraint
from
sqlalchemy.sql.expression
import
cast
from
sqlalchemy.sql.expression
import
literal_column
from
sqlalchemy.sql
import
text
...
...
@@ -608,7 +609,14 @@ def _change_deleted_column_type_to_boolean_sqlite(engine, table_name,
# FIXME(stephenfin): We shouldn't be using this private API;
# figure out how else to copy an arbitrary column schema
constraints
=
[
constraint
.
_copy
()
for
constraint
in
table
.
constraints
]
# NOTE(stephenfin): We drop PrimaryKeyConstraint-type constraints since
# these duplicate the 'primary_key=True' attribute on the speicified
# column(s). This technically breaks things when the primary key covers
# multiple columns but that's okay: these are deprecated APIs
constraints
=
[
constraint
.
_copy
()
for
constraint
in
table
.
constraints
if
not
isinstance
(
constraint
,
PrimaryKeyConstraint
)
]
with
engine
.
connect
()
as
conn
:
meta
=
table
.
metadata
...
...
@@ -738,7 +746,10 @@ def _change_deleted_column_type_to_id_type_sqlite(engine, table_name,
constraints
=
[]
for
constraint
in
table
.
constraints
:
if
not
_is_deleted_column_constraint
(
constraint
):
if
not
(
_is_deleted_column_constraint
(
constraint
)
or
isinstance
(
constraint
,
PrimaryKeyConstraint
)
):
# FIXME(stephenfin): We shouldn't be using this private API;
# figure out how else to copy an arbitrary constraint schema
constraints
.
append
(
constraint
.
_copy
())
...
...
@@ -749,7 +760,8 @@ def _change_deleted_column_type_to_id_type_sqlite(engine, table_name,
with
conn
.
begin
():
new_table
=
Table
(
table_name
+
"__tmp__"
,
meta
,
*
(
columns
+
constraints
))
*
(
columns
+
constraints
),
)
new_table
.
create
(
conn
)
indexes
=
[]
...
...
oslo_db/tests/fixtures.py
View file @
f9bbfe63
...
...
@@ -24,11 +24,12 @@ class WarningsFixture(fixtures.Fixture):
self
.
_original_warning_filters
=
warnings
.
filters
[:]
# Make deprecation warnings only happen once to avoid spamming
warnings
.
simplefilter
(
'once'
,
DeprecationWarning
)
# Enable generic warnings to ensure we're not doing anything odd
warnings
.
filterwarnings
(
'error'
,
message
=
'Evaluating non-mapped column expression'
,
'error'
,
category
=
sqla_exc
.
SAWarning
)
# Enable deprecation warnings to capture upcoming SQLAlchemy changes
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment