mig

Software screenshot:
mig
Software detaljer:
Version: 0.0.6
Upload dato: 20 Feb 15
Udvikler: mig contributors
Licens: Gratis
Popularitet: 13

Rating: nan/5 (Total Votes: 0)

MIG ([M] ediaGoblin [i] s [G] reat!) Blev først skrevet af Christopher Allan Webber til GNU MediaGoblin.
Siden da har Joar Wandborg udvundet de væsentlige punkter i funktionaliteten fra MediaGoblin og i en separat pakke, som er README du læser.
Init vandringer
Enten køre mig.run (motor, navn, modeller og migrationer) eller tilføje mig.models.MigrationData tabellen manuelt.
Bemærk
Hvis din database allerede er befolket, og der er ingen migration udgave rækker i MigrationData tabellen, mig.run () vil mislykkes.
Hvis du allerede har et befolket database, du bliver nødt til at oprette en MigrationData (name = "migrations_handle«, version = 0) række for dine vandringer i MigrationData tabellen, ellers MIG vil forsøge at indlede databasen.
Eksempel setup
Opret migration
.. Code-blok :: python
& Nbsp; & nbsp; & nbsp; fra mig import RegisterMigration
& Nbsp; & nbsp; & nbsp; fra sqlalchemy import metadata tabel, kolonne, Integer, Unicode, DateTime,
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ForeignKey
& Nbsp; & nbsp; & nbsp; Migrations = {}
& Nbsp; & nbsp; & nbsp; RegisterMigration (1, migrationer)
& 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 = Table ('bruger', 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 = Table ('site', metadata,
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Kolonne (»id«, Integer, primary_key = True),
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Kolonne ("domæne", Unicode),
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Kolonne ('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, migrationer)
& 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 (»post«, metadata, autoload = True)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; site_table = Table ('site', metadata, autoload = True)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; site_id_col = Column ('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 ()
Tilmeld modeller
.. Code-blok :: python
& Nbsp; & nbsp; & nbsp; import bcrypt
& Nbsp; & nbsp; & nbsp; fra datetime import datetime
& Nbsp; & nbsp; & nbsp; fra Overfør import ændrings
& Nbsp; & nbsp; & nbsp; fra talkatv import db
& Nbsp; & nbsp; & nbsp; klasse Bruger (db.Model):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; id = db.Column (db.Integer, primary_key = True)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; brugernavn = db.Column (db.String (60), unik = True)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; email = db.Column (db.String (255), unik = True)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; password = db.Column (db.String (60))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def __init __ (self, brugernavn, e-mail, password = Ingen, OpenID = Ingen):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.username = brugernavn
& 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; hvis 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; hvis 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 __ (selv-):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; tilbagevenden " '. format (self.username)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def set_password (self, adgangskode):
& 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 (self, adgangskode):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; tilbage bcrypt.hashpw (password, self.password) == self.password
& Nbsp; & nbsp; & nbsp; klasse 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; skabt = 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 ('bruger',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; backref = db.backref (»openids«, doven = "dynamisk"))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def __init __ (self, bruger, 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; klasse 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 (), unik = True)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; skabt = 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; websted = db.relationship ("Site",
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; backref = db.backref (»elementer«, doven = "dynamisk"))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def __init __ (self, url, titel, sted = Ingen):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; hvis stedet:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.site = websted
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.title = titel
& 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 __ (selv-):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; tilbagevenden " 'format. (
                    self.url,
                    self.site.owner.username hvis self.site ellers Ingen)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def as_dict (selv-):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; mig = {
                    »Id«: self.id,
                    'Title': self.title,
                    'Url': self.url,
                    »Oprettet«: self.created.isoformat ()}
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; hvis self.site:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; me.update ({"ejer": self.site.owner.id})
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; returnere mig
& Nbsp; & nbsp; & nbsp; klasse 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; skabt = 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; ejer = db.relationship ('bruger',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; backref = db.backref ('sites', doven = "dynamisk"))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def __init __ (self, ejer, domæne):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.owner = ejer
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.domain = domæne
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.created = datetime.utcnow ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def __repr __ (selv-):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; tilbagevenden " 'format. (
                    self.domain,
                    self.owner.username)
& Nbsp; & nbsp; & nbsp; klasse Bemærkning (db.Model):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; id = db.Column (db.Integer, primary_key = True)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; skabt = db.Column (db.DateTime)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; tekst = 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; post = db.relationship ('Item',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; backref = db.backref (»bemærkninger«, doven = "dynamisk"))
& 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 ('bruger',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; backref = db.backref (»bemærkninger«, doven = "dynamisk"))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def __init __ (self, punkt, bruger, tekst):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.item = emne
& 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 = tekst
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.created = datetime.utcnow ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def __repr __ (selv-):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; tilbagevenden " 'format. (
                    self.text [: 25] + ('...' hvis len (self.text)> 25 andet ''),
                    self.user.username)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def as_dict (selv-):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; mig = {
                    »Id«: self.id,
                    »Vare«: self.item.id,
                    »User_id«: self.user.id,
                    »Username ': self.user.username,
                    »Tekst«: self.text,
                    »Oprettet«: self.created.isoformat ()}
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; returnere mig
& Nbsp; & nbsp; & nbsp; MODELLER = [
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Bruger,
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Kommentar,
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Vare,
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; OpenID,
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Webstedet]
Kør migrationer
.. Code-blok :: python
& Nbsp; & nbsp; & nbsp; fra mig import køre
& Nbsp; & nbsp; & nbsp; fra mig.models importerer MigrationData
& Nbsp; & nbsp; & nbsp; fra yourapp import db
& Nbsp; & nbsp; & nbsp; fra yourapp.models import- MODELLER
& Nbsp; & nbsp; & nbsp; fra yourapp.migrations import- vandringer
& Nbsp; & nbsp; & nbsp; def check_or_create_mig_data ():
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; hvis ikke db.engine.dialect.has_table (db.session »mig__data '):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Opret migration bord
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; MigrationData .__ tabel __. Oprette (db.engine)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Opret den første migration, så mig ikke init.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; migration = MigrationData (name = U '__ main__ «, version = 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; hvis __name__ == '__main__ «:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; hvis db.engine.dialect.has_table (db.session »bruger«):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # BF er allerede befolket, kontrollere, om migrationer er aktive,
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Ellers oprette migration datatabel
& 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__ «, modeller og migrationer)

Krav :

  • Python

Lignende software

EyeDB
EyeDB

2 Jun 15

E*Reminders
E*Reminders

3 Jun 15

Preppi
Preppi

3 Jun 15

Kommentarer til mig

Kommentarer ikke fundet
Tilføj kommentar
Tænd billeder!