mig

Скріншот програми:
mig
Дані програми:
Версія: 0.0.6
Дата завантаження: 20 Feb 15
Розробник: mig contributors
Ліцензія: Безкоштовно
Популярність: 13

Rating: nan/5 (Total Votes: 0)

МіГ ([M] ediaGoblin [я] S [G] Reat!) Був написаний Крістофер Алан Веббер для GNU MediaGoblin.
З тих пір, Joar Wandborg добув необхідне функціональних можливостей, від MediaGoblin і в окремому пакеті, який'S README ви зараз читаєте.
Init міграції
Запускати mig.run (двигун, назва моделі, міграції) або додати таблицю mig.models.MigrationData вручну.
Примітка
Якщо ваша база даних вже заселені і немає міграція версія рядки в таблиці MigrationData, mig.run () не буде виконана.
Якщо у вас вже є заповненою бази даних ви повинні створити MigrationData (ім'я = 'migrations_handle ", версія = 0) рядок для ваших переміщень в таблиці MigrationData, в іншому випадку МіГ постараюся, щоб почати базу даних.
Приклад налаштування
Створити міграції
.. Код-блок :: Python
І NBSP; & NBSP; & NBSP; від МіГ імпорту RegisterMigration
І NBSP; & NBSP; & NBSP; від SQLAlchemy імпортувати метадані, таблиць, стовпців Integer, Unicode, DateTime,
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; ForeignKey
І NBSP; & NBSP; & NBSP; Міграції = {}
І NBSP; & NBSP; & NBSP; RegisterMigration (1, міграція населення)
І NBSP; & NBSP; & NBSP; Def create_site_table (db_conn):
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; метадані = метаданих (BIND = db_conn.bind)
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; user_table = Table ("користувач", метадані, автозавантаження = 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 ("сайт", метадані,
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Колонка ('ID', Integer, primary_key = True),
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Колонка ('домен', Unicode),
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Колонка ('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, міграції)
І NBSP; & NBSP; & NBSP; Def item_add_site_id (db_conn):
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; метадані = метаданих (BIND = db_conn.bind)
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; item_table = Table ("пункт", метадані, автозавантаження = True)
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; site_table = Table ("сайт", метадані, автозавантаження = True)
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; site_id_col = Колонка ('Site_ID', число, 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 ()
Реєстрація моделей
.. Код-блок :: Python
І NBSP; & NBSP; & NBSP; імпорт Bcrypt
І NBSP; & NBSP; & NBSP; від DateTime DateTime імпорту
І NBSP; & NBSP; & NBSP; від мігрувати імпорту ревізії
І NBSP; & NBSP; & NBSP; від talkatv дБ імпорту
І NBSP; & NBSP; & NBSP; клас 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; Ім'я користувача = db.Column (db.String (60), унікальний = True)
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Email = db.Column (db.String (255), унікальний = True)
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; пароль = db.Column (db.String (60))
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; НЕ Def __init __ (сам, ім'я користувача, адресу електронної пошти, пароль = None, OpenID = None):
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; self.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; Якщо пароль:
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; self.set_password (пароль)
І 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; & NBSP; self.openid = OpenID
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Def __repr __ (Я):
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; повернення '<Користувач {0}>'. Формат (self.username)
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Def 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; Def 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 = True)
І 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 («openids", ледачий = "динамічних"))
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Def __init __ (сам, користувач, 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 = користувач
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; self.url = URL
І NBSP; & NBSP; & NBSP; клас 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; назва = db.Column (db.String ())
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; URL = db.Column (db.String (), унікальний = True)
І 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 («предмети», ледачий = "динамічних"))
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; НЕ Def __init __ (сам, URL, назва, сайт = None):
І 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 = 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 __ (Я):
І 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; Def 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 = True)
І 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 («Сайти», ледачий = "динамічних"))
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Def __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; Def __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 = True)
І 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 ('Item',
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; backref = db.backref ("Коментарі", ледачий = "динамічних"))
І 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 ("Коментарі", ледачий = "динамічних"))
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Def __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; Def __repr __ (Я):
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; повернення '<Коментар ({1}) {0}>' Формат. (
                    self.text [: 25] + ('...' If Len (self.text)> 25 Else ''),
                    self.user.username)
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Def 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; Сайту]
Запуск міграції
.. Код-блок :: Python
І NBSP; & NBSP; & NBSP; від МіГ імпорту перспективі
І NBSP; & NBSP; & NBSP; від mig.models імпортувати MigrationData
І NBSP; & NBSP; & NBSP; від YourApp дБ імпорту
І NBSP; & NBSP; & NBSP; від yourapp.models імпортувати моделі
І NBSP; & NBSP; & NBSP; від yourapp.migrations імпортних міграції
І NBSP; & NBSP; & NBSP; Def 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 .__ стіл __. Create (db.engine)
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; # Створення першого міграції, так що мить не ініціалізувати.
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; міграція = MigrationData (ім'я = і '__ 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; Run (db.engine, і '__ main__ ", МОДЕЛІ, міграції)

Вимоги

  • Python

Схожі програми

sgwi
sgwi

20 Feb 15

ezRadius
ezRadius

2 Jun 15

phpMyBackupPro
phpMyBackupPro

19 Feb 15

SQL Relay
SQL Relay

27 Sep 15

mig

Коментар не знайдено
додати коментар
Включіть картинки!