Advertisement
Guest User

Untitled

a guest
Sep 21st, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.76 KB | None | 0 0
  1. from sqlalchemy import *
  2. from sqlalchemy.ext.declarative import declarative_base
  3. from sqlalchemy.orm import relationship, backref
  4.  
  5. Base = declarative_base()
  6. metadata = Base.metadata
  7.  
  8. class Hash(Base):
  9.     __tablename__ = "hashes"
  10.  
  11.     hash_id = Column(Integer, primary_key = True)
  12.     hash = Column(Text(24), nullable = False)
  13.     files = relationship("File", backref = backref("hash"), cascade="all")
  14.  
  15.     def __init__(self, hash):
  16.         self.hash = hash
  17.  
  18. class File(Base):
  19.     __tablename__ = "files"
  20.  
  21.     file_id = Column(Integer, primary_key = True)
  22.     path = Column(Text(), nullable = False)
  23.     name = Column(Text(), nullable = False)
  24.     ext = Column(Text(), nullable = False)
  25.  
  26.     hash_id = Column(Integer, ForeignKey("hashes.hash_id"))
  27.     #hash = relationship(Hash, backref = backref("files"), cascade="all, delete, delete-orphan")                                                                                                                                
  28.  
  29.     def __init__(self, path, name, ext):
  30.         self.path = path
  31.         self.name = name
  32.         self.ext = ext
  33.  
  34.  
  35.  
  36. from sqlalchemy.interfaces import PoolListener
  37. class SetTextFactory(PoolListener):
  38.     def connect(self, dbapi_con, con_record):
  39.         dbapi_con.text_factory = str
  40. engine = create_engine('sqlite:///wpltester.sqlite', echo=True, listeners=[SetTextFactory()])
  41. engine.connect().connection.connection.text_factory = str
  42.  
  43. from sqlalchemy.orm import sessionmaker
  44. Session = sessionmaker(bind=engine)
  45. session = Session()
  46.  
  47. metadata.create_all(engine)
  48.  
  49. hash = Hash("0123456789ABCDEF")
  50.  
  51. file = File("/gloubi", "boulga.mp4", ".mp4")
  52. file.hash = hash
  53. session.add(file)
  54.  
  55. session.commit()
  56.  
  57. session.query(Hash).delete()
  58. session.commit()
  59.  
  60. print session.query(File).all()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement