這是我的文件至今:使用SQLAlchemy創建我的表之後,如何向其添加其他列?
from sqlalchemy import create_engine, ForeignKey
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship, backref
from sqlalchemy import Column, Integer, String
from sqlalchemy import Table, Text
engine = create_engine('mysql://root:[email protected]/alctest',
echo=False)
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key = True)
name = Column(String(100))
fullname = Column(String(100))
password = Column(String(100))
addresses = relationship("Address", order_by="Address.id", backref="user")
def __init__(self, name, fullname, password):
self.name = name
self.fullname = fullname
self.password = password
def __repr__(self):
return "<User('%s','%s', '%s')>" % (self.name, self.fullname, self.password)
class Address(Base):
__tablename__ = 'addresses'
id = Column(Integer, primary_key = True)
email_address = Column(String(100), nullable=False)
#foreign key, must define relationship
user_id = Column(Integer, ForeignKey('users.id'))
user = relationship("User", backref = backref('addresses',order_by=id))
Base.metadata.create_all(engine)
這個文件是非常簡單的。它創建一個用戶和地址表。運行這個文件後,表格被創建。
但現在我想添加一列到「用戶」。我怎樣才能做到這一點?我需要做什麼?
是否要在不更改現有代碼的情況下添加列? – Nilesh
@lafada我不知道。我只是想添加列。 – user1061003
然後你最好的方法是sqlalchemy-migrate :)。 – Nilesh