为了使我的编码技能专业化,我想使用狮身人面像作为我开始的一个小型宠物项目来创建文档。 在这个项目中,我使用sqlalchemy与使用MySQL工作台设置的MySQL数据库进行通信。 在设置过程中,我还在每个表上定义了注释。
我想做的是在文档中包括表注释,以阐明每个表应该做什么。 我正在使用SQLalchemy的自动映射器功能。
from sqlalchemy import Table, create_engine
from sqlalchemy.engine import reflection
from sqlalchemy.orm import create_session
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.engine.url import URL
from os import path
# DBCONF is a loaded dict. Ommitted for clarity.
DBURL = URL(**DBCONF)
#Creat DB engine
engine = create_engine(DBURL)
insp = reflection.Inspector.from_engine(engine)
Base = declarative_base(bind = engine)
#Example Table from the database.
class Temperature(Base):
tablename = 'temperature'
__table__ = Table(tablename, Base.metadata, autoload=True)
__doc__ = insp.get_table_comment(tablename)['text']
print(__doc__)
class Foo(object):
"""
Foo 1
Foo 2
"""
print(__doc__)
class Bar(object):
__doc__ = "Bar1 \n \nBar2"
print(__doc__)
的输出
print(__doc__)
是:
DBLine1 \n \n DBLine2
Foo 1
Foo 2
Bar1
Bar2
在Foo和Bar的文档中,一切都很好,但是对于Temperature对象,我得到了“ DBLine1 n n DBLine2”。没有换行符,没有\ n。
有人知道这可能来自哪里吗?也许是数据库的特征集?
按照我的意愿去做实际上是一个好主意吗?我开始对此表示怀疑。