簡體   English   中英

ActiveRecord到SQLalchemy模式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM