Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ActiveRecord到SQLalchemy模式_Python_Activerecord_Sqlalchemy - Fatal编程技术网

Python ActiveRecord到SQLalchemy模式

Python 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

我尝试将这个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在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不在乎