|
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,20 +192,39 @@ 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 |
|
| 195 | + column = Column("name", String(255), comment="some comment") |
194 | 196 | SampleTable = Table(
|
195 | 197 | table_name,
|
196 | 198 | metadata_obj,
|
197 |
| - Column("name", String(255), comment="some comment") |
| 199 | + column |
198 | 200 | )
|
199 | 201 |
|
200 | 202 | metadata_obj.create_all(db_engine)
|
| 203 | + connection = db_engine.connect() |
201 | 204 |
|
202 | 205 | columns = db_engine.dialect.get_columns(
|
203 |
| - connection=db_engine.connect(), table_name=table_name |
| 206 | + connection=connection, table_name=table_name |
204 | 207 | )
|
205 | 208 |
|
206 | 209 | assert columns[0].get('comment') == "some comment"
|
207 | 210 |
|
| 211 | + column.comment = "other comment" |
| 212 | + connection.execute(SetColumnComment(column)) |
| 213 | + |
| 214 | + columns = db_engine.dialect.get_columns( |
| 215 | + connection=connection, table_name=table_name |
| 216 | + ) |
| 217 | + |
| 218 | + assert columns[0].get('comment') == "other comment" |
| 219 | + |
| 220 | + connection.execute(DropColumnComment(column)) |
| 221 | + |
| 222 | + columns = db_engine.dialect.get_columns( |
| 223 | + connection=connection, table_name=table_name |
| 224 | + ) |
| 225 | + |
| 226 | + assert columns[0].get('comment') == "" |
| 227 | + |
208 | 228 | metadata_obj.drop_all(db_engine)
|
209 | 229 |
|
210 | 230 |
|
|
0 commit comments