基本用法,自动建模
- 简明教程:https://blog.csdn.net/stone0823/article/details/112344065
- 映射已有表:https://blog.csdn.net/xie_0723/article/details/84901502
- 参考:https://blog.csdn.net/weixin_46281427/article/details/122916870
- 参考:https://blog.csdn.net/lilongsy/article/details/129712156
- 参考:https://blog.51cto.com/u_15249893/5478232
- 参考:https://www.cnblogs.com/cola-1998/p/10691629.html
python执行脚本
- 参考:https://blog.csdn.net/qq_29037259/article/details/134613045
from sqlalchemy import create_engine, text, Column, String, Integer, Date, Numeric, TIMESTAMP, MetaData, Table
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.ext.automap import automap_base
from sqlalchemy.orm import sessionmaker
from urllib.parse import quote_plus
import cx_Oracle
cx_Oracle.init_oracle_client(lib_dir=os.environ.get("HOME") + "/Downloads/instantclient_23_3")
username = "**"
password = quote_plus("******")
service_name = "*****"
host = "*.*.*.*"
port = "**"
connection_str = "oracle+cx_oracle://" + username + ":" + password + f"@{host}:{port}/?service_name={service_name}"
engine = create_engine(connection_str)
Session = sessionmaker(bind=engine)
session = Session()
Base = declarative_base()
设置多个主键
class MyClass(Base):
    __tablename__ = 'your_table_name'
    __table_args__ = (
        PrimaryKeyConstraint('日期', '投资ID', '基金ID'),
        {'schema': 'your_name_space'}
    )
# {'schema': 'your_name_space'} 要放在最后面