任何人都可以告诉我为什么下面的DateTime类型创建一个“DATE”对象而不是DateTime(或更恰当地,TIMESTAMP类型),因为我必须强制类型如下面的行:
#!/bin/python import sqlalchemy from sqlalchemy import Column,Integer,String,DateTime,Index,MetaData from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import relationship from sqlalchemy.orm import sessionmaker from sqlalchemy.dialects import oracle Base = declarative_base() import logging logging.basicConfig() logging.getLogger('sqlalchemy.engine').setLevel(logging.INFO) class TypeTest(Base): __tablename__ = "TYPETESTZ" thisisinteger = Column(Integer,primary_key = True) thisisnotadatetime = Column(DateTime) thisisdatetime = Column(oracle.TIMESTAMP) if __name__ == "__main__": engine = sqlalchemy.create_engine('oracle://richard:password@xe') Metadata = Base.Metadata Metadata.create_all(engine)
日志输出:
INFO:sqlalchemy.engine.base.Engine:SELECT USER FROM DUAL INFO:sqlalchemy.engine.base.Engine:{} INFO:sqlalchemy.engine.base.Engine:SELECT table_name FROM all_tables WHERE table_name = :name AND owner = :schema_name INFO:sqlalchemy.engine.base.Engine:{'name': u'TYPETESTZ','schema_name': u'RICHARD'} INFO:sqlalchemy.engine.base.Engine: CREATE TABLE "TYPETESTZ" ( thisisinteger INTEGER NOT NULL,thisisnotadatetime DATE,thisisdatetime TIMESTAMP,PRIMARY KEY (thisisinteger) ) INFO:sqlalchemy.engine.base.Engine:{} INFO:sqlalchemy.engine.base.Engine:COMMIT
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。