Reputation: 23
I was reading this page
http://docs.sqlalchemy.org/en/rel_1_0/orm/tutorial.html
I'm trying to get a handle on how I can build a custom table that links to an object in python. I have this code
from sqlalchemy import create_engine, Column, Integer, String, DateTime, Float, UnicodeText, VARCHAR, NVARCHAR, TEXT, DATE, distinct, ForeignKey, Table
import sqlalchemy
from sqlalchemy.orm import sessionmaker, relationship
from sqlalchemy.ext.declarative import declarative_base
engine = create_engine("sqlite:///./P_case.db",
echo=False)
Session = sessionmaker( bind=engine )
session = Session()
Base = declarative_base()
class Bus(Base):
__tablename__ = "bus_vech"
id = Column( Integer, primary_key = True )
## Bus
number = Column( Integer)
When I run this, I get no errors, but from the way SQL alchmey has been described to me, it should create a database where the fields I have in my class Bus, will show up in a sequel database in the directory I run the script. I would like to see the database file I created and view it using an SQL viewer.
Upvotes: 1
Views: 108
Reputation: 485
You need to enclose your class by two statements as shown below:
from sqlalchemy import create_engine, Column, Integer, String, DateTime, Float, UnicodeText, VARCHAR, NVARCHAR, TEXT, DATE, distinct, ForeignKey, Table
import sqlalchemy
from sqlalchemy.orm import sessionmaker, relationship
from sqlalchemy.ext.declarative import declarative_base
engine = create_engine("sqlite:///./P_case.db",
echo=False)
Session = sessionmaker( bind=engine )
session = Session()
Base = declarative_base()
metadata = Base.metadata #########################
class Bus(Base):
__tablename__ = "bus_info"
id = Column( Integer, primary_key = True )
## Bus
number = Column( Integer)
metadata.create_all( engine ) ######################
I put ######## after the statements you need. You should see this file in your directory, P_case.db.
Upvotes: 1