Luke Murphy
6 years ago
2 changed files with 0 additions and 125 deletions
@ -1,76 +0,0 @@ |
|||
#!/usr/bin/env python |
|||
|
|||
import argparse |
|||
import functools |
|||
import logging |
|||
import pyrqlite.dbapi2 as dbapi2 |
|||
#import sqlite3 as dbapi2 |
|||
|
|||
from sqlalchemy.ext.declarative import declarative_base |
|||
from sqlalchemy.orm import sessionmaker, relationship |
|||
from sqlalchemy.orm import Session |
|||
from sqlalchemy import Table, Column, Integer, String, ForeignKey, Sequence, create_engine |
|||
from sqlalchemy.dialects import registry |
|||
registry.register("rqlite.pyrqlite", "sqlalchemy_rqlite.pyrqlite", "dialect") |
|||
|
|||
Base = declarative_base() |
|||
|
|||
books_authors = Table( |
|||
"books_authors", |
|||
Base.metadata, |
|||
Column("book", Integer, ForeignKey("books.id")), |
|||
Column("author", Integer, ForeignKey("authors.id")), |
|||
) |
|||
|
|||
class Book(Base): |
|||
__tablename__ = 'books' |
|||
id = Column(Integer, primary_key=True) |
|||
title = Column("title", String(50), nullable=False) |
|||
authors = relationship( |
|||
"Author", |
|||
backref="books", |
|||
secondary=books_authors |
|||
) |
|||
|
|||
def __init__(self, title): |
|||
self.title = title |
|||
|
|||
class Author(Base): |
|||
__tablename__ = "authors" |
|||
id = Column("id", Integer, Sequence("authors_id_seq"), primary_key=True) |
|||
name = Column("name", String(50), nullable=False) |
|||
|
|||
def __init__(self, title): |
|||
self.name = name |
|||
|
|||
def main(): |
|||
parser = argparse.ArgumentParser() |
|||
parser.add_argument('-v', '--verbose', action='store_true', default=False) |
|||
args = parser.parse_args() |
|||
|
|||
if args.verbose: |
|||
logging.basicConfig() |
|||
logging.getLogger().setLevel(logging.DEBUG) |
|||
|
|||
engine = create_engine('rqlite+pyrqlite://localhost:4001/', echo=args.verbose) |
|||
|
|||
Base.metadata.create_all(engine) |
|||
session = Session(engine) |
|||
|
|||
#insert |
|||
# for i in range(1): |
|||
# book = Book("book about dbs2") |
|||
# author = Author("footurist") |
|||
# book.authors.append(author) |
|||
# session.add(book) |
|||
# session.commit() |
|||
|
|||
#delete |
|||
desired_book = session.query(Book).filter_by(id=3).delete() |
|||
#desired_author = session.query(Author).filter_by(id=2).first() |
|||
#desired_book.authors.clear() |
|||
#desired_book.authors.append(desired_author) |
|||
session.commit() |
|||
|
|||
if __name__ == '__main__': |
|||
main() |
@ -1,49 +0,0 @@ |
|||
from sqlalchemy import create_engine |
|||
from sqlalchemy import Table, Column, Integer, String, ForeignKey, Sequence |
|||
from sqlalchemy.ext.declarative import declarative_base |
|||
from sqlalchemy.orm import sessionmaker, relationship |
|||
|
|||
|
|||
Base = declarative_base() |
|||
|
|||
|
|||
teachers_lessons = Table( |
|||
"teachers_lessons", |
|||
Base.metadata, |
|||
Column("fk_teacher", Integer, ForeignKey("teachers.id")), |
|||
Column("fk_lesson", Integer, ForeignKey("lessons.id")), |
|||
) |
|||
|
|||
|
|||
class Teacher(Base): |
|||
__tablename__ = "teachers" |
|||
|
|||
id = Column("id", Integer, Sequence("teachers_id_seq"), primary_key=True) |
|||
name = Column("name", String(50), nullable=False) |
|||
|
|||
lessons = relationship( |
|||
"Lesson", |
|||
backref="teachers", |
|||
secondary=teachers_lessons |
|||
) |
|||
|
|||
|
|||
class Lesson(Base): |
|||
__tablename__ = "lessons" |
|||
|
|||
id = Column("id", Integer, Sequence("lessons_id_seq"), primary_key=True) |
|||
name = Column("name", String(50), nullable=False) |
|||
|
|||
|
|||
engine = create_engine('rqlite+pyrqlite://localhost:4001/', echo=True) |
|||
Base.metadata.create_all(engine) |
|||
Session = sessionmaker(bind=engine) |
|||
|
|||
|
|||
if __name__ == "__main__": |
|||
|
|||
t2 = s.query(Teacher).filter_by(name='NEWNEW').first() |
|||
t2.lessons.clear() |
|||
s.commit() |
|||
|
|||
|
Loading…
Reference in new issue