]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
References: #4426
authorjonathan vanasco <jonathan@2xlp.com>
Tue, 28 Sep 2021 15:23:40 +0000 (11:23 -0400)
committerjonathan vanasco <jonathan@2xlp.com>
Tue, 28 Sep 2021 16:15:24 +0000 (12:15 -0400)
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
examples/elementtree/optimized_al.py
examples/elementtree/pickle_type.py

index cee73bffd51163ac9a93e2a8fa6b5c858332edda..43961fb41d223ce198374fc52ecc653f79d022df 100644 (file)
@@ -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
 
index 74b4d279d2f672cc11ca52082ecf2138a16187c2..c68720aaa5193816868c10e474026ba9de691a02 100644 (file)
@@ -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
 
index 83643c663c0e6bc2fd71f21db8ec9f0add2b39a0..cde517db3679b5f6a82a7bbd220b8af168efc06f 100644 (file)
@@ -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 !