Python ActiveRecord到SQLalchemy模式
我尝试将这个ActiveRecord模式转换为sqlalchemyPython ActiveRecord到SQLalchemy模式,python,activerecord,sqlalchemy,Python,Activerecord,Sqlalchemy,我尝试将这个ActiveRecord模式转换为sqlalchemy def db_schema ActiveRecord::Schema.define do unless table_exists? :strains create_table :strains do |t| t.column :name, :string t.column :description, :string end end # indices unless index_exists? :st
def db_schema
ActiveRecord::Schema.define do
unless table_exists? :strains
create_table :strains do |t|
t.column :name, :string
t.column :description, :string
end
end
# indices
unless index_exists? :strains, :id
add_index :strains, :id
end
end
end
这个SQLalchemy等同于ActiveRecord吗
class Strain(db.Model):
__tablename__ = 'strains'
name = db.Column(db.String(), index=True, unique=True)
description = db.Column(db.String())
关闭,但似乎缺少id列。我不知道ActiveRecord在nullable/default方面的具体表现,所以我只是猜测其中一些是好的默认值
class Strain(db.Model):
__tablename__ = 'strains'
id = Column(Integer, primary_key=True)
name = Column(String, nullable=False, unique=True, index=True)
description = Column(String, nullable=False, default='')
此外,MySQL和其他一些数据库期望字符串的长度,并将字符串与文本区别对待。至少PostgreSQL和SQLite不在乎