sqlalchemy_seed是使用sqlalchmy的简单数据播种器。

sqlalchemy_seed的Python项目详细描述


https://travis-ci.org/heavenshell/py-sqlalchemy_seed.svg?branch=masterPython 3Updates

sqlalchemy_seed是一个种子库,它使用sqlalchemy向数据库提供初始数据。

sqlalchemy\u seed类似于Django fixtures

安装

pip install sqlalchemy_seed

添加种子

/myapp
  __init__.py
  models.py
  /fixtures
    accounts.yaml

模型文件。

# -*- coding: utf-8 -*-fromsqlalchemyimportcreate_enginefromsqlalchemy.excimportOperationalErrorfromsqlalchemy.ext.declarativeimportdeclarative_basefromsqlalchemy.ormimportscoped_session,sessionmaker,relationshipengine=create_engine('sqlite://',convert_unicode=True)Base=declarative_base()Base.metadata.bind=engineSession=sessionmaker(autocommit=False,autoflush=False,bind=engine)session=scoped_session(Session)classAccount(Base):__tablename__='accounts'id=Column(Integer,primary_key=True)first_name=Column(String(100),nullable=False)last_name=Column(String(100),nullable=False)age=Column(Integer(),nullable=True)

种子代码。

# -*- coding: utf-8 -*-fromsqlalchemy_seedimport(create_table,drop_table,load_fixtures,load_fixture_files,)frommyapp.modelsimportBase,sessiondefmain():path='/path/to/fixtures'fixtures=load_fixture_files(path,['accounts.yaml'])load_fixtures(session,fixtures)if__name__=='__main__':main()

种子文件。

- model: myapp.models.Account
  id: 1
  fields:
    first_name: John
    last_name: Lennon
    age: 20

- model: myapp.models.Account
  id: 2
  fields:
    first_name: Paul
    last_name: McCartney
    age: 21

许可证

新的BSD许可证。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java:字符串。RTL设备语言用标志“+”格式化,数字后加符号   java GAE作为桌面应用程序(Swing)的服务提供商   java将InputStream转换为FileInputStream不适用于Apache POI   java外部Voronoi库“网格”:什么是草图和处理?   重载重写的泛型方法java   java显示组织上设置的错误。springframework。验证。jsp中的错误对象   java一些Spring模型属性没有显示在我的JSP中   java无法编译Guava 23的SimpleTimeLimiter示例   java如何更改JTree中的“根”目录名?   java如何在安卓中对相对布局产生连锁反应?   java错误:org。冬眠例外SQLGrammarException:无法提取结果集,dateAccessed是未知列   如何使用java监听JSON文件更新   由抽象封闭类创建的匿名内部类能否通过反射确定实现类?