mig

Phần mềm chụp màn hình:
mig
Các chi tiết về phần mềm:
Phiên bản: 0.0.6
Ngày tải lên: 20 Feb 15
Nhà phát triển: mig contributors
Giấy phép: Miễn phí
Phổ biến: 13

Rating: nan/5 (Total Votes: 0)

mig ([M] ediaGoblin [i] s [G] reat!) Lần đầu tiên được viết bởi Christopher Allan Webber cho GNU MediaGoblin.
Kể từ đó, Joar Wandborg đã chiết xuất các yếu tố cần thiết của các chức năng từ MediaGoblin và vào một gói riêng biệt mà là README mà bạn đang xem.
di cư Init
Hoặc chạy mig.run (động cơ, tên, mô hình, di cư) hoặc thêm bảng mig.models.MigrationData tay.
Lưu ý
Nếu cơ sở dữ liệu của bạn đã được dân cư và không có hàng phiên bản di chuyển trong bảng MigrationData, mig.run () sẽ thất bại.
Nếu bạn đã có một cơ sở dữ liệu dân cư bạn sẽ cần phải tạo ra một MigrationData (name = 'migrations_handle', phiên bản = 0) hàng cho sự di cư của bạn trong bảng MigrationData, nếu không mig sẽ cố gắng để bắt đầu các cơ sở dữ liệu.
setup Ví dụ
Tạo di cư
.. Mã-block :: python
& Nbsp; & nbsp; & nbsp; từ mig RegisterMigration nhập khẩu
& Nbsp; & nbsp; & nbsp; từ SQLAlchemy nhập MetaData, Table, Column, Integer, Unicode, DateTime,
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ForeignKey
& Nbsp; & nbsp; & nbsp; Di cư = {}
& Nbsp; & nbsp; & nbsp; RegisterMigration (1, di cư)
& Nbsp; & nbsp; & nbsp; def create_site_table (db_conn):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; metadata = MetaData (bind = db_conn.bind)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; user_table = Bảng (mã người dùng, siêu dữ liệu, tự động load = 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 = Table ('trang web', siêu dữ liệu,
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Cột ('id', Integer, primary_key = True),
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Cột ('miền', Unicode),
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Cột ('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, di cư)
& Nbsp; & nbsp; & nbsp; def item_add_site_id (db_conn):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; metadata = MetaData (bind = db_conn.bind)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; item_table = Table ('hàng', siêu dữ liệu, tự động load = True)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; site_table = Table ('trang web', siêu dữ liệu, tự động load = True)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; site_id_col = Cột ('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 ()
Đăng ký mô hình
.. Mã-block :: python
& Nbsp; & nbsp; & nbsp; bcrypt nhập khẩu
& Nbsp; & nbsp; & nbsp; từ nhập khẩu datetime datetime
& Nbsp; & nbsp; & nbsp; từ di cư changeset nhập khẩu
& Nbsp; & nbsp; & nbsp; từ talkatv nhập khẩu db
& Nbsp; & nbsp; & nbsp; lớp người dùng (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), độc đáo = True)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; email = db.Column (db.String (255), độc đáo = True)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; password = db.Column (db.String (60))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def __init __ (self, username, email, password = None, OpenID = None):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.username = tên người dùng
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.email = email
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; nếu mật khẩu:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.set_password (mật khẩu)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; nếu 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 __ (self):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; return ''. format (self.username)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def set_password (self, mật khẩu):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.password = bcrypt.hashpw (mật khẩu, bcrypt.gensalt ())
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def check_password (self, mật khẩu):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; trở bcrypt.hashpw (mật khẩu, self.password) == self.password
& Nbsp; & nbsp; & nbsp; lớp 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; tạo = 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; user = db.relationship ('tài',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; backref = db.backref ('OpenID, lười biếng =' năng động '))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def __init __ (self, người sử dụng, địa chỉ):
& 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; lớp 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 (), độc đáo = True)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; tạo = 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 ('mục', lười biếng = 'năng động'))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def __init __ (self, url, title, site = None):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; nếu trang web:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.site = trang web
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.title = tiêu đề
& 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 __ (self):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; '' định dạng. return (
                    self.url,
                    self.site.owner.username nếu self.site khác None)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def as_dict (tự):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; me = {
                    'Id': self.id,
                    "Title": self.title,
                    'Url': self.url,
                    'Sáng tạo': self.created.isoformat ()}
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; nếu self.site:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; me.update ({'chủ nhân': self.site.owner.id})
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; trả lại cho tôi
& Nbsp; & nbsp; & nbsp; lớp 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; tạo = 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; chủ sở hữu = db.relationship ('tài',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; backref = db.backref ('trang web', lười biếng = 'năng động'))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def __init __ (self, chủ sở hữu, miền):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.owner = chủ
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.domain = tên miền
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.created = datetime.utcnow ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def __repr __ (self):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; '' định dạng. return (
                    self.domain,
                    self.owner.username)
& Nbsp; & nbsp; & nbsp; lớp bình (db.Model):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; id = db.Column (db.Integer, primary_key = True)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; tạo = 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 ('ý kiến', lười biếng = 'năng động'))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; user_id = db.Column (db.Integer, db.ForeignKey ('user.id'))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; user = db.relationship ('tài',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; backref = db.backref ('ý kiến', lười biếng = 'năng động'))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def __init __ (self, item, sử dụng, văn bản):
& 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 = text
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.created = datetime.utcnow ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def __repr __ (self):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; '' định dạng. return (
                    self.text [: 25] + ('...' nếu len (self.text)> 25 khác ''),
                    self.user.username)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def as_dict (tự):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; me = {
                    'Id': self.id,
                    'Mục': self.item.id,
                    'User_id': self.user.id,
                    'Username': self.user.username,
                    'Text': self.text,
                    'Sáng tạo': self.created.isoformat ()}
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; trả lại cho tôi
& Nbsp; & nbsp; & nbsp; MÔ HÌNH = [
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Người sử dụng,
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Bình luận,
& 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; Trang web]
Chạy di cư
.. Mã-block :: python
& Nbsp; & nbsp; & nbsp; từ mig chạy nhập khẩu
& Nbsp; & nbsp; & nbsp; từ mig.models nhập MigrationData
& Nbsp; & nbsp; & nbsp; từ yourapp nhập khẩu db
& Nbsp; & nbsp; & nbsp; từ MÔ HÌNH nhập yourapp.models
& Nbsp; & nbsp; & nbsp; từ di cư nhập khẩu yourapp.migrations
& Nbsp; & nbsp; & nbsp; def check_or_create_mig_data ():
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; nếu không db.engine.dialect.has_table (db.session, 'mig__data'):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Tạo bảng di cư
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; MigrationData .__ bảng __. Tạo (db.engine)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Tạo người di dân đầu tiên, vì vậy mig mà không init.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; di cư = MigrationData (name = u '__ main__', phiên bản = 0)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; db.session.add (di cư)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; db.session.commit ()
& Nbsp; & nbsp; & nbsp; nếu __name__ == '__main__':
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; nếu db.engine.dialect.has_table (db.session, 'người sử dụng'):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Các DB đã được dân cư, kiểm tra nếu di cư đang hoạt động,
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Nếu không tạo ra các bảng dữ liệu di cư
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; check_or_create_mig_data ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; chạy (db.engine, u '__ main__', NGƯỜI MẪU, di cư)

Yêu cầu :

  • Python

Phần mềm tương tự

ssqlfs
ssqlfs

11 May 15

OraRep
OraRep

11 May 15

Qore Tibae Module
Qore Tibae Module

20 Feb 15

Ý kiến ​​để mig

Bình luận không
Nhập bình luận
Bật hình ảnh!