簡體   English   中英

如何使用 SQL Alchemy 在 SQL Server 中創建圖形節點表?

[英]How do I create a Graph Node Table in SQL Server using SQL Alchemy?

我正在嘗試使用 SQLAlchemy 在 SQL Server 中創建一個圖表。

SQL 將如下所示:

CREATE TABLE [audit].[tableMetaData](
      [_tableMetaDataId] INT PRIMARY KEY IDENTITY(1,1),
      [table] VARCHAR(200),
      [createdDateTime] DATETIME,
      [loadType] VARCHAR(200),
      [loadBy] VARCHAR(200),
      [description] VARCHAR(MAX),
) AS NODE;

我可以使用以下命令使用 SQL Alchemy 創建一個標准表:

auditMeta = MetaData()
tableMetaData = Table(
    'tableMetaData', auditMeta,
    Column('_tableMetaDataId', INTEGER, primary_key = True),
    Column('table', VARCHAR(200)),
    Column('createdDateTime', DATETIME),
    Column('loadType', VARCHAR(200)),
    Column('loadBy', VARCHAR(200)),
    Column('description', VARCHAR(None)),
    schema = auditSchema
)

auditMeta.create_all(auditEngine)

如何將“AS NODE”組件添加到 SQL Alchemy 代碼中以讓 SQL Server 知道這是一個圖形表?

您的幫助將不勝感激。

您可以更改CreateTable構造的默認編譯

from sqlalchemy.schema import CreateTable
from sqlalchemy.ext.compiler import compiles


auditMeta = MetaData()
tableMetaData = Table(
    'tableMetaData', auditMeta,
    Column('_tableMetaDataId', INTEGER, primary_key = True),
    Column('table', VARCHAR(200)),
    Column('createdDateTime', DATETIME),
    Column('loadType', VARCHAR(200)),
    Column('loadBy', VARCHAR(200)),
    Column('description', VARCHAR(None)),
    schema = auditSchema,
    info={'as_node': True}
)


@compiles(CreateTable)
def create_as_node(create_table, compiler, **kw):
    if create_table.element.info.get('as_node'):
        compiler.post_create_table = lambda x: ' AS NODE'
    return compiler.visit_create_table(create_table, **kw)


auditMeta.create_all(auditEngine)

自定義 SQL 構造和編譯擴展中查看更多信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM