|
18 | 18 | from sqlalchemy.engine import Engine
|
19 | 19 | from sqlalchemy.engine.reflection import Inspector
|
20 | 20 | from sqlalchemy.orm import DeclarativeBase, Mapped, Session, mapped_column
|
| 21 | +from sqlalchemy.schema import DropColumnComment, SetColumnComment |
21 | 22 | from sqlalchemy.types import BOOLEAN, DECIMAL, Date, DateTime, Integer, String
|
22 | 23 |
|
23 | 24 | try:
|
@@ -191,19 +192,34 @@ def test_create_table_not_null(db_engine, metadata_obj: MetaData):
|
191 | 192 | def test_column_comment(db_engine, metadata_obj: MetaData):
|
192 | 193 | table_name = "PySQLTest_{}".format(datetime.datetime.utcnow().strftime("%s"))
|
193 | 194 |
|
194 |
| - SampleTable = Table( |
195 |
| - table_name, |
196 |
| - metadata_obj, |
197 |
| - Column("name", String(255), comment="some comment") |
198 |
| - ) |
| 195 | + column = Column("name", String(255), comment="some comment") |
| 196 | + SampleTable = Table(table_name, metadata_obj, column) |
199 | 197 |
|
200 | 198 | metadata_obj.create_all(db_engine)
|
| 199 | + connection = db_engine.connect() |
201 | 200 |
|
202 | 201 | columns = db_engine.dialect.get_columns(
|
203 |
| - connection=db_engine.connect(), table_name=table_name |
| 202 | + connection=connection, table_name=table_name |
| 203 | + ) |
| 204 | + |
| 205 | + assert columns[0].get("comment") == "some comment" |
| 206 | + |
| 207 | + column.comment = "other comment" |
| 208 | + connection.execute(SetColumnComment(column)) |
| 209 | + |
| 210 | + columns = db_engine.dialect.get_columns( |
| 211 | + connection=connection, table_name=table_name |
| 212 | + ) |
| 213 | + |
| 214 | + assert columns[0].get("comment") == "other comment" |
| 215 | + |
| 216 | + connection.execute(DropColumnComment(column)) |
| 217 | + |
| 218 | + columns = db_engine.dialect.get_columns( |
| 219 | + connection=connection, table_name=table_name |
204 | 220 | )
|
205 | 221 |
|
206 |
| - assert columns[0].get('comment') == "some comment" |
| 222 | + assert columns[0].get("comment") == "" |
207 | 223 |
|
208 | 224 | metadata_obj.drop_all(db_engine)
|
209 | 225 |
|
|
0 commit comments