mig

软件截图:
mig
软件详细信息:
版本: 0.0.6
上传日期: 20 Feb 15
许可: 免费
人气: 73

Rating: 3.0/5 (Total Votes: 2)

MIG([M] ediaGoblin [I] S [G] REAT!)最早写的克里斯托弗·艾伦·韦伯的GNU MediaGoblin。
从那时起,Joar Wandborg从MediaGoblin并到一个单独的包,它的README您正在阅读中提取的功能要领。
初始化迁移
无论是运行mig.run(发动机,名称,型号,迁移)或手动添加mig.models.MigrationData表。
注意
如果已经填充您的数据库,并有在MigrationData表中没有迁移的版本行,mig.run()将失败。
如果你已经有了一个填充数据库,你需要创建一个MigrationData(名称='migrations_handle',版本= 0)排在MigrationData表的迁移,否则MIG将尝试启动数据库。
示例设置
创建迁移
..代码块::蟒蛇
   从MIG进口RegisterMigration
   从SQLAlchem​​y的导入元数据,表,列,整型,Unicode的,日期时间,
            ForeignKey的
    MIGRATIONS = {}
    @RegisterMigration(1,MIGRATIONS)
   高清create_site_table(db_conn):
       元=元数据(绑定= db_conn.bind)
        USER_TABLE =表('用户',元数据,自动加载=真,
                autoload_with = db_conn.bind)
        site_table =表('网站',元数据,
               列('身份证',整数,primary_key =真)
               列('域',Unicode的),
               列(“owner_id',整型,ForeignKey的(user_table.columns ['身份证'])))
        site_table.create()
        db_conn.commit()
    @RegisterMigration(2 MIGRATIONS)
   高清item_add_site_id(db_conn):
       元=元数据(绑定= db_conn.bind)
        item_table =表('项目',元数据,自动加载=真)
        site_table =表('网站',元数据,自动加载=真)
        site_id_col = COLUMN('SITE_ID“,整型,ForeignKey的(
            site_table.columns ['身份证']))
        site_id_col.create(item_table)
        db_conn.commit()
注册车型
..代码块::蟒蛇
   进口bcrypt
   从日期时间日期时间进口
   从进口迁移变更
   从talkatv进口分贝
   类用户(db.Model):
        ID = db.Column(db.Integer,primary_key =真)
       用户名= db.Column(db.String(60),唯一=真)
       电子邮件= db.Column(db.String(255),唯一=真)
       密码= db.Column(db.String(60))
       高清__init __(个体经营,用户名,电子邮件,密码=无,OpenID的=无):
            self.username =用户名
            self.email =电子邮件
           如果密码:
                self.set_password(密码)
           如果OpenID登录:
                self.openid =的OpenID
       高清__repr __(个体经营):
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;回报“<用户{0}>”。格式(self.username)
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;高清set_password(个体经营,密码):
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; self.password = bcrypt.hashpw(密码,bcrypt.gensalt())
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;高清check_password(个体经营,密码):
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;返回bcrypt.hashpw(密码,self.password)== self.password
&NBSP;&NBSP;&NBSP;一流的OpenID(db.Model):
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; ID = db.Column(db.Integer,primary_key =真)
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; URL = db.Column(db.String())
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;创建= db.Column(db.DateTime)
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; USER_ID = db.Column(db.Integer,db.ForeignKey('user.id'))
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;用户= db.relationship(“用户”,
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; backref = db.backref('的OpenID',为lazy =“动态”))
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;高清__init __(个体经营,用户,网址):
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; self.created = datetime.utcnow()
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; self.user =用户
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; self.url =网址
&NBSP;&NBSP;&NBSP;类项目(db.Model):
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; ID = db.Column(db.Integer,primary_key =真)
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;标题= db.Column(db.String())
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; URL = db.Column(db.String(),唯一=真)
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;创建= db.Column(db.DateTime)
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; SITE_ID = db.Column(db.Integer,db.ForeignKey('site.id'))
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;网站= db.relationship('网站',
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; backref = db.backref('项目',为lazy =“动态”))
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;高清__init __(个体经营,URL,标题,网站=无):
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;如果网站:
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; self.site =网站
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; self.title =冠军
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; self.url =网址
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; self.created = datetime.utcnow()
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;高清__repr __(个体经营):
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;回报“<项目{0}({1})>”。格式(
                    self.url,
                    self.site.owner.username如果self.site否则无)
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;高清as_dict(个体经营):
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;我= {
                    'ID':self.id,
                    '标题':self.title,
                    “URL”:self.url,
                    “创造”:self.created.isoformat()}
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;如果self.site:
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; me.update({'老板':self.site.owner.id})
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;回到我
&NBSP;&NBSP;&NBSP;类网站(db.Model):
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; ID = db.Column(db.Integer,primary_key =真)
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;创建= db.Column(db.DateTime)
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;域= db.Column(db.String)
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; owner_id = db.Column(db.Integer,db.ForeignKey('user.id'))
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;店主= db.relationship(“用户”,
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; backref = db.backref('地盘',为lazy =“动态”))
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;高清__init __(个体经营,老板,域):
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; self.owner =所有者
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; self.domain =域
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; self.created = datetime.utcnow()
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;高清__repr __(个体经营):
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;回报“<站点{0}({1})>”。格式(
                    self.domain,
                    self.owner.username)
&NBSP;&NBSP;&NBSP;类评论(db.Model):
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; ID = db.Column(db.Integer,primary_key =真)
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;创建= db.Column(db.DateTime)
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;文= db.Column(db.String())
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; ITEM_ID = db.Column(db.Integer,db.ForeignKey('item.id'))
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;项目= db.relationship('项目',
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; backref = db.backref('意见',为lazy =“动态”))
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; USER_ID = db.Column(db.Integer,db.ForeignKey('user.id'))
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;用户= db.relationship(“用户”,
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; backref = db.backref('意见',为lazy =“动态”))
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;高清__init __(个体经营,项目,用户,文本):
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; self.item =项目
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; self.user =用户
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; self.text =文本
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; self.created = datetime.utcnow()
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;高清__repr __(个体经营):
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;回报“<注释{0}({1})>”。格式(
                    self.text [25] +('...'如果len(self.text)> 25别的''),
                    self.user.username)
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;高清as_dict(个体经营):
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;我= {
                    'ID':self.id,
                    “项目”:self.item.id,
                    “USER_ID”:self.user.id,
                    “用户名”:self.user.username,
                    “文本”:self.text,
                    “创造”:self.created.isoformat()}
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;回到我
&NBSP;&NBSP;&NBSP;模型= [
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;用户,
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;评论,
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;项目,
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; OpenID的,
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;网站]
运行迁移
..代码块::蟒蛇
&NBSP;&NBSP;&NBSP;从MIG进口跑
&NBSP;&NBSP;&NBSP;从mig.models进口MigrationData
&NBSP;&NBSP;&NBSP;从yourapp进口分贝
&NBSP;&NBSP;&NBSP;从yourapp.models进口车型
&NBSP;&NBSP;&NBSP;从yourapp.migrations进口MIGRATIONS
&NBSP;&NBSP;&NBSP;高清check_or_create_mig_data():
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;如果不是db.engine.dialect.has_table(db.session'mig__data'):
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; #创建迁移表
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; MigrationData .__表__。创建(db.engine)
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; #创建第一个迁移,使MIG不初始化。
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;迁移= MigrationData(名称= U'__ main__',版本= 0)
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; db.session.add(迁移)
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; db.session.commit()
&NBSP;&NBSP;&NBSP;如果__name__ =='__main__':
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;如果db.engine.dialect.has_table(db.session,“用户”):
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; #在DB已经填充,检查是否迁移活跃,
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; #否则创建迁移数据表
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; check_or_create_mig_data()
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;运行(db.engine,U'__ main__“,模型,MIGRATIONS)

要求

  • 在Python中

类似的软件

datastore
datastore

20 Feb 15

Elephantoplasty
Elephantoplasty

14 Apr 15

JSqsh
JSqsh

12 May 15

Dzo
Dzo

14 Apr 15

意见 mig

评论没有发现
添加评论
打开图片!