sqlalchemy - 有没有办法使用 SQLAlchemy 在 Teradata 表上创建主索引?
问题描述
使用 SQLAlchemy 创建 Teradata 易失性表时,我似乎无法创建索引。
import teradatasqlalchemy
import sqlalchemy as db
from teradatasqlalchemy import DATE, FLOAT
from teradatasqlalchemy.dialect import TDCreateTablePost as post
#from teradatasqlalchemy.compiler import TDCreateTablePost as post
from sqlalchemy.sql.schema import Table, Column
from sqlalchemy.schema import CreateTable
td_engine = db.create_engine('teradatasql://edwprod/?logmech=ldap&user=xxxx&password=yyyy')
metadata = db.MetaData()
temp_table = db.Table(
"temp_table",
metadata,
Column("calndr_dt", DATE),
Column("records", FLOAT),
teradata_post_create=post().primary_index(unique=True, cols=["calndr_dt"]),
extend_existing=True,
)
print(CreateTable(temp_table).compile(td_engine))
print() 语句的结果,似乎不包括主索引:
CREATE TABLE temp_table (
calndr_dt DATE,
records FLOAT
)
套餐:
SQLAlchemy 1.3.16
teradatasql 16.20.0.60
teradatasqlalchemy 16.20.0.8
在以前的版本中,似乎工作
解决方案
关键字以方言名称开头。
temp_table = db.Table(
"temp_table",
metadata,
Column("calndr_dt", DATE),
Column("records", FLOAT),
teradatasql_post_create=post().primary_index(unique=True, cols=["calndr_dt"]),
extend_existing=True,
)
请注意,这实际上不是 VOLATILE 表,它是一个普通(永久)表。
推荐阅读
- spring-mvc - 请求映射没有将我带到所需的页面,它显示错误 404
- javascript - 在 JavaScript 中,我在调用函数、变量和显示这些变量时出错
- python - 如何按数字顺序对字典进行排序?
- python - 如何使用另一个 numpy 数组对 numpy 数组进行排序
- json - 使用 bash 从 JSON 文件中动态获取值
- c# - 如何从 azure 函数 c# 返回多个 json 对象?
- android - 在链接 Observable 时,只有创建视图层次结构的原始线程才能接触其视图
- mysql - SQL 查询类函数
- android - 在 Html.fromHtml() 中显示链接,该链接导航到不同的活动或片段
- c# - Telerik 访问 RadGrid 内的 RadComboBox