fromtypingimportListimportdatabasesimportsqlalchemyfromfastapiimportFastAPIfrompydanticimportBaseModel# SQLAlchemy specific code, as with any other appDATABASE_URL="sqlite:///./test.db"# DATABASE_URL = "postgresql://user:password@postgresserver/db"database=databases.Database(DATABASE_URL)metadata=sqlalchemy.MetaData()notes=sqlalchemy.Table("notes",metadata,sqlalchemy.Column("id",sqlalchemy.Integer,primary_key=True),sqlalchemy.Column("text",sqlalchemy.String),sqlalchemy.Column("completed",sqlalchemy.Boolean),)engine=sqlalchemy.create_engine(DATABASE_URL,connect_args={"check_same_thread":False})metadata.create_all(engine)classNoteIn(BaseModel):text:strcompleted:boolclassNote(BaseModel):id:inttext:strcompleted:boolapp=FastAPI()@app.on_event("startup")asyncdefstartup():awaitdatabase.connect()@app.on_event("shutdown")asyncdefshutdown():awaitdatabase.disconnect()@app.get("/notes/",response_model=List[Note])asyncdefread_notes():query=notes.select()returnawaitdatabase.fetch_all(query)@app.post("/notes/",response_model=Note)asyncdefcreate_note(note:NoteIn):query=notes.insert().values(text=note.text,completed=note.completed)last_record_id=awaitdatabase.execute(query)return{**note.dict(),"id":last_record_id}
fromtypingimportListimportdatabasesimportsqlalchemyfromfastapiimportFastAPIfrompydanticimportBaseModel# SQLAlchemy specific code, as with any other appDATABASE_URL="sqlite:///./test.db"# DATABASE_URL = "postgresql://user:password@postgresserver/db"database=databases.Database(DATABASE_URL)metadata=sqlalchemy.MetaData()notes=sqlalchemy.Table("notes",metadata,sqlalchemy.Column("id",sqlalchemy.Integer,primary_key=True),sqlalchemy.Column("text",sqlalchemy.String),sqlalchemy.Column("completed",sqlalchemy.Boolean),)engine=sqlalchemy.create_engine(DATABASE_URL,connect_args={"check_same_thread":False})metadata.create_all(engine)classNoteIn(BaseModel):text:strcompleted:boolclassNote(BaseModel):id:inttext:strcompleted:boolapp=FastAPI()@app.on_event("startup")asyncdefstartup():awaitdatabase.connect()@app.on_event("shutdown")asyncdefshutdown():awaitdatabase.disconnect()@app.get("/notes/",response_model=List[Note])asyncdefread_notes():query=notes.select()returnawaitdatabase.fetch_all(query)@app.post("/notes/",response_model=Note)asyncdefcreate_note(note:NoteIn):query=notes.insert().values(text=note.text,completed=note.completed)last_record_id=awaitdatabase.execute(query)return{**note.dict(),"id":last_record_id}
fromtypingimportListimportdatabasesimportsqlalchemyfromfastapiimportFastAPIfrompydanticimportBaseModel# SQLAlchemy specific code, as with any other appDATABASE_URL="sqlite:///./test.db"# DATABASE_URL = "postgresql://user:password@postgresserver/db"database=databases.Database(DATABASE_URL)metadata=sqlalchemy.MetaData()notes=sqlalchemy.Table("notes",metadata,sqlalchemy.Column("id",sqlalchemy.Integer,primary_key=True),sqlalchemy.Column("text",sqlalchemy.String),sqlalchemy.Column("completed",sqlalchemy.Boolean),)engine=sqlalchemy.create_engine(DATABASE_URL,connect_args={"check_same_thread":False})metadata.create_all(engine)classNoteIn(BaseModel):text:strcompleted:boolclassNote(BaseModel):id:inttext:strcompleted:boolapp=FastAPI()@app.on_event("startup")asyncdefstartup():awaitdatabase.connect()@app.on_event("shutdown")asyncdefshutdown():awaitdatabase.disconnect()@app.get("/notes/",response_model=List[Note])asyncdefread_notes():query=notes.select()returnawaitdatabase.fetch_all(query)@app.post("/notes/",response_model=Note)asyncdefcreate_note(note:NoteIn):query=notes.insert().values(text=note.text,completed=note.completed)last_record_id=awaitdatabase.execute(query)return{**note.dict(),"id":last_record_id}
fromtypingimportListimportdatabasesimportsqlalchemyfromfastapiimportFastAPIfrompydanticimportBaseModel# SQLAlchemy specific code, as with any other appDATABASE_URL="sqlite:///./test.db"# DATABASE_URL = "postgresql://user:password@postgresserver/db"database=databases.Database(DATABASE_URL)metadata=sqlalchemy.MetaData()notes=sqlalchemy.Table("notes",metadata,sqlalchemy.Column("id",sqlalchemy.Integer,primary_key=True),sqlalchemy.Column("text",sqlalchemy.String),sqlalchemy.Column("completed",sqlalchemy.Boolean),)engine=sqlalchemy.create_engine(DATABASE_URL,connect_args={"check_same_thread":False})metadata.create_all(engine)classNoteIn(BaseModel):text:strcompleted:boolclassNote(BaseModel):id:inttext:strcompleted:boolapp=FastAPI()@app.on_event("startup")asyncdefstartup():awaitdatabase.connect()@app.on_event("shutdown")asyncdefshutdown():awaitdatabase.disconnect()@app.get("/notes/",response_model=List[Note])asyncdefread_notes():query=notes.select()returnawaitdatabase.fetch_all(query)@app.post("/notes/",response_model=Note)asyncdefcreate_note(note:NoteIn):query=notes.insert().values(text=note.text,completed=note.completed)last_record_id=awaitdatabase.execute(query)return{**note.dict(),"id":last_record_id}
fromtypingimportListimportdatabasesimportsqlalchemyfromfastapiimportFastAPIfrompydanticimportBaseModel# SQLAlchemy specific code, as with any other appDATABASE_URL="sqlite:///./test.db"# DATABASE_URL = "postgresql://user:password@postgresserver/db"database=databases.Database(DATABASE_URL)metadata=sqlalchemy.MetaData()notes=sqlalchemy.Table("notes",metadata,sqlalchemy.Column("id",sqlalchemy.Integer,primary_key=True),sqlalchemy.Column("text",sqlalchemy.String),sqlalchemy.Column("completed",sqlalchemy.Boolean),)engine=sqlalchemy.create_engine(DATABASE_URL,connect_args={"check_same_thread":False})metadata.create_all(engine)classNoteIn(BaseModel):text:strcompleted:boolclassNote(BaseModel):id:inttext:strcompleted:boolapp=FastAPI()@app.on_event("startup")asyncdefstartup():awaitdatabase.connect()@app.on_event("shutdown")asyncdefshutdown():awaitdatabase.disconnect()@app.get("/notes/",response_model=List[Note])asyncdefread_notes():query=notes.select()returnawaitdatabase.fetch_all(query)@app.post("/notes/",response_model=Note)asyncdefcreate_note(note:NoteIn):query=notes.insert().values(text=note.text,completed=note.completed)last_record_id=awaitdatabase.execute(query)return{**note.dict(),"id":last_record_id}
fromtypingimportListimportdatabasesimportsqlalchemyfromfastapiimportFastAPIfrompydanticimportBaseModel# SQLAlchemy specific code, as with any other appDATABASE_URL="sqlite:///./test.db"# DATABASE_URL = "postgresql://user:password@postgresserver/db"database=databases.Database(DATABASE_URL)metadata=sqlalchemy.MetaData()notes=sqlalchemy.Table("notes",metadata,sqlalchemy.Column("id",sqlalchemy.Integer,primary_key=True),sqlalchemy.Column("text",sqlalchemy.String),sqlalchemy.Column("completed",sqlalchemy.Boolean),)engine=sqlalchemy.create_engine(DATABASE_URL,connect_args={"check_same_thread":False})metadata.create_all(engine)classNoteIn(BaseModel):text:strcompleted:boolclassNote(BaseModel):id:inttext:strcompleted:boolapp=FastAPI()@app.on_event("startup")asyncdefstartup():awaitdatabase.connect()@app.on_event("shutdown")asyncdefshutdown():awaitdatabase.disconnect()@app.get("/notes/",response_model=List[Note])asyncdefread_notes():query=notes.select()returnawaitdatabase.fetch_all(query)@app.post("/notes/",response_model=Note)asyncdefcreate_note(note:NoteIn):query=notes.insert().values(text=note.text,completed=note.completed)last_record_id=awaitdatabase.execute(query)return{**note.dict(),"id":last_record_id}
fromtypingimportListimportdatabasesimportsqlalchemyfromfastapiimportFastAPIfrompydanticimportBaseModel# SQLAlchemy specific code, as with any other appDATABASE_URL="sqlite:///./test.db"# DATABASE_URL = "postgresql://user:password@postgresserver/db"database=databases.Database(DATABASE_URL)metadata=sqlalchemy.MetaData()notes=sqlalchemy.Table("notes",metadata,sqlalchemy.Column("id",sqlalchemy.Integer,primary_key=True),sqlalchemy.Column("text",sqlalchemy.String),sqlalchemy.Column("completed",sqlalchemy.Boolean),)engine=sqlalchemy.create_engine(DATABASE_URL,connect_args={"check_same_thread":False})metadata.create_all(engine)classNoteIn(BaseModel):text:strcompleted:boolclassNote(BaseModel):id:inttext:strcompleted:boolapp=FastAPI()@app.on_event("startup")asyncdefstartup():awaitdatabase.connect()@app.on_event("shutdown")asyncdefshutdown():awaitdatabase.disconnect()@app.get("/notes/",response_model=List[Note])asyncdefread_notes():query=notes.select()returnawaitdatabase.fetch_all(query)@app.post("/notes/",response_model=Note)asyncdefcreate_note(note:NoteIn):query=notes.insert().values(text=note.text,completed=note.completed)last_record_id=awaitdatabase.execute(query)return{**note.dict(),"id":last_record_id}