mig

Screenshot Software:
mig
Mga detalye ng Software:
Bersyon: 0.0.6
I-upload ang petsa: 20 Feb 15
Nag-develop: mig contributors
Lisensya: Libre
Katanyagan: 13

Rating: nan/5 (Total Votes: 0)

mig ([M] ediaGoblin [i] ni [G] reat!) Ay unang isinulat ni Christopher Allan Webber para GNU MediaGoblin.
Simula noon, Joar Wandborg ay kinuha ang mga mahahalaga ng pag-andar mula sa MediaGoblin at sa isang hiwalay na package na ang Readme na kasalukuyan mong binabasa.
Init paglilipat
Alinman sa run mig.run (engine, pangalan, modelo, paglilipat) o manu-manong magdagdag ng mig.models.MigrationData table.
Tandaan
Kung ang iyong database ay naka-populated at walang mga hilera bersyon paglipat sa MigrationData talahanayan, mig.run () ay mabibigo.
Kung mayroon ka ng isang may naninirahan database kakailanganin mong lumikha ng isang MigrationData (pangalan = 'migrations_handle', bersyon = 0) hilera para sa iyong mga paglilipat sa MigrationData talahanayan, kung hindi man mig ay susubukan na simulan ang database.
Halimbawa ng pag-setup
Lumikha ng migration
.. Code-block :: python
& Nbsp; & nbsp; & nbsp; mula mig-import RegisterMigration
& Nbsp; & nbsp; & nbsp; mula sa pag-import sqlalchemy metadata, Table, Haligi, Integer, Unicode, Datetime,
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ForeignKey
& Nbsp; & nbsp; & nbsp; Paglilipat = {}
& Nbsp; & nbsp; & nbsp; RegisterMigration (1, paglilipat)
& Nbsp; & nbsp; & nbsp; def create_site_table (db_conn):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; metadata = metadata (magbigkis = db_conn.bind)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; user_table = Talahanayan ('user', metadata, autoload = True,
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; autoload_with = db_conn.bind)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; site_table = Talahanayan ('site', metadata,
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Haligi ng ('id', Integer, primary_key = True),
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Haligi ng ('domain', Unicode),
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Haligi ng ('owner_id', Integer, ForeignKey (user_table.columns ['id'])))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; site_table.create ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; db_conn.commit ()
& Nbsp; & nbsp; & nbsp; RegisterMigration (2, paglilipat)
& Nbsp; & nbsp; & nbsp; def item_add_site_id (db_conn):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; metadata = metadata (magbigkis = db_conn.bind)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; item_table = Talahanayan ('item', metadata, autoload = True)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; site_table = Talahanayan ('site', metadata, autoload = True)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; site_id_col = Haligi ng ('site_id', Integer, ForeignKey (
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; site_table.columns ['id']))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; site_id_col.create (item_table)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; db_conn.commit ()
Magparehistro modelo
.. Code-block :: python
& Nbsp; & nbsp; & nbsp; -import bcrypt
& Nbsp; & nbsp; & nbsp; mula sa pag-import DATETIME DATETIME
& Nbsp; & nbsp; & nbsp; mula sa pag-import-migrate changeset
& Nbsp; & nbsp; & nbsp; mula sa pag-import talkatv db
& Nbsp; & nbsp; & nbsp; klase ng User (db.Model):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; id = db.Column (db.Integer, primary_key = True)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; username db.Column (db.String (60), natatanging = True) =
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; email = db.Column (db.String (255), natatanging = True)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; password = db.Column (db.String (60))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def __init __ (sa sarili, username, email, password = Wala, OpenID = Wala):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.username = username
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.email = e-mail
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; kung password:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.set_password (password)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; kung OpenID:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.openid = OpenID
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def __repr __ (sa sarili):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; balik ''. format (self.username)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def set_password (sa sarili, password):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.password = bcrypt.hashpw (password, bcrypt.gensalt ())
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def check_password (sa sarili, password):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; bumalik bcrypt.hashpw (password, self.password) == self.password
& Nbsp; & nbsp; & nbsp; klase ng OpenID (db.Model):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; id = db.Column (db.Integer, primary_key = True)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; url = db.Column (db.String ())
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Nilikha = 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 ('User' user,
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; backref = db.backref ('openids', tamad = 'dynamic'))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def __init __ (sa sarili, user, url):
& 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 = user
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.url = url
& Nbsp; & nbsp; & nbsp; klase Item (db.Model):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; id = db.Column (db.Integer, primary_key = True)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; title = db.Column (db.String ())
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; url = db.Column (db.String (), natatanging = True)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Nilikha = 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; site = db.relationship ('Site',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; backref = db.backref ('item', tamad = 'dynamic'))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def __init __ (sa sarili, url, pamagat, site = Wala):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; kung site:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.site = site
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.title = pamagat
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.url = url
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.created = datetime.utcnow ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def __repr __ (sa sarili):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; balik ''. format (
                    self.url,
                    self.site.owner.username kung Wala pang tao self.site)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def as_dict (sa sarili):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; sa akin = {
                    'Id': self.id,
                    'Title': self.title,
                    'Url': self.url,
                    'Nilikha': self.created.isoformat ()}
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; kung self.site:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; me.update ({'may-ari': self.site.owner.id})
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; bumalik sa akin
& Nbsp; & nbsp; & nbsp; klase Site (db.Model):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; id = db.Column (db.Integer, primary_key = True)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Nilikha = db.Column (db.DateTime)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; domain = 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; may-ari = db.relationship ('User',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; backref = db.backref ('sites', tamad = 'dynamic'))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def __init __ (sa sarili, may-ari, domain):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.owner =-ari
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.domain = domain
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.created = datetime.utcnow ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def __repr __ (sa sarili):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; balik '<{0} ({1}) Site>'. format (
                    self.domain,
                    self.owner.username)
& Nbsp; & nbsp; & nbsp; klase Komento (db.Model):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; id = db.Column (db.Integer, primary_key = True)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Nilikha = db.Column (db.DateTime)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; text = 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; item = db.relationship ('Item',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; backref = db.backref ('komento', tamad = 'dynamic'))
& 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 ('User' user,
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; backref = db.backref ('komento', tamad = 'dynamic'))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def __init __ (sa sarili, item, user, i-text):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.item = item
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.user = user
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.text = teksto
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.created = datetime.utcnow ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def __repr __ (sa sarili):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; balik ''. format (
                    self.text [: 25] + ('...' kung Len (self.text)> 25 pa ang ''),
                    self.user.username)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def as_dict (sa sarili):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; sa akin = {
                    'Id': self.id,
                    'Item': self.item.id,
                    'USER_ID': self.user.id,
                    'Username': self.user.username,
                    'Teksto': self.text,
                    'Nilikha': self.created.isoformat ()}
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; bumalik sa akin
& Nbsp; & nbsp; & nbsp; Mga modelong = [
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; User,
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Magkomento,
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Item,
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; OpenID,
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Site]
Patakbuhin ang mga paglilipat
.. Code-block :: python
& Nbsp; & nbsp; & nbsp; mula mig run-import
& Nbsp; & nbsp; & nbsp; mula mig.models-import MigrationData
& Nbsp; & nbsp; & nbsp; mula sa pag-import yourapp db
& Nbsp; & nbsp; & nbsp; mula yourapp.models pag-import ng mga modelo
& Nbsp; & nbsp; & nbsp; mula sa pag-import yourapp.migrations paglilipat
& Nbsp; & nbsp; & nbsp; def check_or_create_mig_data ():
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; kung hindi db.engine.dialect.has_table (db.session, 'mig__data'):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Lumikha ng paglipat ng talahanayan
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; MigrationData .__ talahanayan __. Gumawa (db.engine)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Likhain ang unang migration, upang mig ay hindi init.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; paglipat = MigrationData (name = u '__ main__', bersyon = 0)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; db.session.add (migration)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; db.session.commit ()
& Nbsp; & nbsp; & nbsp; kung __name__ == '__main__':
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; kung db.engine.dialect.has_table (db.session, 'user'):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Ang DB ay naka-populated, tingnan kung paglilipat ay aktibo, ang
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Kung hindi man ay lumikha ng mga talahanayan ng data sa paglilipat
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; check_or_create_mig_data ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; run (db.engine, u '__ main__', modelo, paglilipat)

Mga Kinakailangan :

  • Python

Katulad na software

hamsterdb
hamsterdb

17 Feb 15

Jailer
Jailer

26 Apr 16

Jude
Jude

3 Jun 15

Qore MySQL Module
Qore MySQL Module

20 Feb 15

Mga komento sa mig

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!