[英]ActiveRecord to SQLalchemy schema
我嘗試將此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? :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在可為空/默認值方面的表現,因此我只是猜測其中的一些默認值很好。
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和其他一些數據庫期望String的長度,並且將String與Text區別對待。 至少PostgreSQL和SQLite不在乎。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.