From 5ed5b5ab039b86d966d197c04dd8bb0a561cf24c Mon Sep 17 00:00:00 2001 From: jonathan vanasco Date: Tue, 28 Sep 2021 11:23:40 -0400 Subject: [PATCH] References: #4426 Updated elementtree example to replace the deprecated classical mappings interface with the current `registry.map_imperatively()` version. The examples STILL use classical mappings, so the ticket remains open. This update merely removes the deprecated API in favor of the (temporary?) replacement. Change-Id: I8ddb86b76d82ac9d87a55edb0225e6b2f6ab4940 --- examples/elementtree/adjacency_list.py | 12 ++++++------ examples/elementtree/optimized_al.py | 12 ++++++------ examples/elementtree/pickle_type.py | 12 ++++++------ 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/examples/elementtree/adjacency_list.py b/examples/elementtree/adjacency_list.py index cee73bffd5..43961fb41d 100644 --- a/examples/elementtree/adjacency_list.py +++ b/examples/elementtree/adjacency_list.py @@ -29,26 +29,26 @@ from sqlalchemy import Column from sqlalchemy import create_engine from sqlalchemy import ForeignKey from sqlalchemy import Integer -from sqlalchemy import MetaData from sqlalchemy import String from sqlalchemy import Table from sqlalchemy import Unicode from sqlalchemy.orm import aliased from sqlalchemy.orm import lazyload from sqlalchemy.orm import mapper +from sqlalchemy.orm import registry from sqlalchemy.orm import relationship from sqlalchemy.orm import Session e = create_engine("sqlite://") -meta = MetaData() +mapper_registry = registry() # PART II - Table Metadata # stores a top level record of an XML document. documents = Table( "documents", - meta, + mapper_registry.metadata, Column("document_id", Integer, primary_key=True), Column("filename", String(30), unique=True), Column("element_id", Integer, ForeignKey("elements.element_id")), @@ -58,7 +58,7 @@ documents = Table( # Element and SubElement objects. elements = Table( "elements", - meta, + mapper_registry.metadata, Column("element_id", Integer, primary_key=True), Column("parent_id", Integer, ForeignKey("elements.element_id")), Column("tag", Unicode(30), nullable=False), @@ -70,7 +70,7 @@ elements = Table( # stored by an Element or SubElement. attributes = Table( "attributes", - meta, + mapper_registry.metadata, Column( "element_id", Integer, @@ -81,7 +81,7 @@ attributes = Table( Column("value", Unicode(255)), ) -meta.create_all(e) +mapper_registry.metadata.create_all(e) # PART III - Model diff --git a/examples/elementtree/optimized_al.py b/examples/elementtree/optimized_al.py index 74b4d279d2..c68720aaa5 100644 --- a/examples/elementtree/optimized_al.py +++ b/examples/elementtree/optimized_al.py @@ -20,26 +20,26 @@ from sqlalchemy import Column from sqlalchemy import create_engine from sqlalchemy import ForeignKey from sqlalchemy import Integer -from sqlalchemy import MetaData from sqlalchemy import String from sqlalchemy import Table from sqlalchemy import Unicode from sqlalchemy.orm import aliased from sqlalchemy.orm import lazyload from sqlalchemy.orm import mapper +from sqlalchemy.orm import registry from sqlalchemy.orm import relationship from sqlalchemy.orm import Session e = create_engine("sqlite://") -meta = MetaData() +mapper_registry = registry() # PART II - Table Metadata # stores a top level record of an XML document. documents = Table( "documents", - meta, + mapper_registry.metadata, Column("document_id", Integer, primary_key=True), Column("filename", String(30), unique=True), ) @@ -48,7 +48,7 @@ documents = Table( # Element and SubElement objects. elements = Table( "elements", - meta, + mapper_registry.metadata, Column("element_id", Integer, primary_key=True), Column("parent_id", Integer, ForeignKey("elements.element_id")), Column("document_id", Integer, ForeignKey("documents.document_id")), @@ -61,7 +61,7 @@ elements = Table( # stored by an Element or SubElement. attributes = Table( "attributes", - meta, + mapper_registry.metadata, Column( "element_id", Integer, @@ -72,7 +72,7 @@ attributes = Table( Column("value", Unicode(255)), ) -meta.create_all(e) +mapper_registry.metadata.create_all(e) # PART III - Model diff --git a/examples/elementtree/pickle_type.py b/examples/elementtree/pickle_type.py index 83643c663c..cde517db36 100644 --- a/examples/elementtree/pickle_type.py +++ b/examples/elementtree/pickle_type.py @@ -16,16 +16,16 @@ from xml.etree import ElementTree from sqlalchemy import Column from sqlalchemy import create_engine from sqlalchemy import Integer -from sqlalchemy import MetaData from sqlalchemy import PickleType from sqlalchemy import String from sqlalchemy import Table -from sqlalchemy.orm import mapper +from sqlalchemy.orm import registry from sqlalchemy.orm import Session e = create_engine("sqlite://") -meta = MetaData() +mapper_registry = registry() + # setup a comparator for the PickleType since it's a mutable # element. @@ -39,13 +39,13 @@ def are_elements_equal(x, y): # the "element" column will store the ElementTree document as a BLOB. documents = Table( "documents", - meta, + mapper_registry.metadata, Column("document_id", Integer, primary_key=True), Column("filename", String(30), unique=True), Column("element", PickleType(comparator=are_elements_equal)), ) -meta.create_all(e) +mapper_registry.metadata.create_all(e) # our document class. contains a string name, # and the ElementTree root element. @@ -58,7 +58,7 @@ class Document(object): # setup mapper. -mapper(Document, documents) +mapper_registry.map_imperatively(Document, documents) # time to test ! -- 2.47.3