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为什么运行按钮在Eclipse中不起作用?   java构造函数:实例变量是否为对象存储单独的值?   java使用jquery获取值   生产文件夹和源文件夹中的java单元测试   java递归问题这个解决方案正确吗?有更简单的解决方案吗?   java Android sqlite正在检索已选中中的行   javacom。谷歌。云数据存储。DatastoreException:请求缺少必需的身份验证凭据   java无法在Linux Ubuntu 12.04上运行maven2   在监视器的上下文中,被阻塞的线程在被notify()调用唤醒后在何处继续执行?   安卓如何从游标获取Bool(Java SQLite)   如何阻止rxjava runnable发出?   使用设备管理时应用程序中的java Android实例化异常