وMIG ([M] ediaGoblin [ط] ق [G] ريت!) وقد كتب أول مرة من قبل كريستوفر ألان ويبر لGNU MediaGoblin.
ومنذ ذلك الحين، وقد انتزعت Joar Wandborg أساسيات وظيفة من وMediaGoblin في حزمة منفصلة من README كنت تقرأ حاليا.
الهجرات التهيئة
إما mig.run المدى (المحرك، واسم، ونماذج، والهجرات) أو إضافة الجدول mig.models.MigrationData يدويا.
ملاحظة
إذا تم بالفعل بالسكان قاعدة البيانات الخاصة بك وليس هناك أي الصفوف نسخة الهجرة في الجدول MigrationData، mig.run () ستفشل.
إذا كان لديك بالفعل قاعدة بيانات سكانية ستحتاج إلى إنشاء MigrationData (اسم = 'migrations_handle "، الإصدار = 0) صف الهجرات في الجدول MigrationData، وإلا MIG سيحاول الشروع في قاعدة البيانات.
الإعداد سبيل المثال
خلق الهجرة
.. رمز كتلة :: الثعبان
على & nbsp؛ على & nbsp؛ على & nbsp؛ من طراز ميغ RegisterMigration استيراد
على & nbsp؛ على & nbsp؛ على & nbsp؛ من الوصفية sqlalchemy الاستيراد، الجدول، العمود، صحيح، يونيكود، التاريخ والوقت،
على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ ForeignKey
على & nbsp؛ على & nbsp؛ على & nbsp؛ هجرات = {}
على & nbsp؛ على & nbsp؛ على & nbsp؛ RegisterMigration (1، الهجرة)
على & nbsp؛ على & nbsp؛ على & nbsp؛ create_site_table مواطنه (db_conn):
على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ الفوقية = البيانات الوصفية (ربط = db_conn.bind)
على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ user_table = جدول ('المستخدم'، الفوقية، autoload = صحيح،
على & 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 = الجدول ('الموقع'، الفوقية،
على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ العمود ("معرف"، صحيح، primary_key = صحيح)،
على & 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؛ العمود ('owner_id "، صحيح، ForeignKey (user_table.columns [' الهوية '])))
على & 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؛ مواطنه item_add_site_id (db_conn):
على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ الفوقية = البيانات الوصفية (ربط = db_conn.bind)
على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ item_table = الجدول ('العنصر'، الفوقية، autoload = صحيح)
على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ site_table = الجدول ('الموقع'، الفوقية، autoload = صحيح)
على & 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 ['الهوية']))
على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ site_id_col.create (item_table)
على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ db_conn.commit ()
تسجيل النماذج
.. رمز كتلة :: الثعبان
على & nbsp؛ على & nbsp؛ على & nbsp؛ bcrypt استيراد
على & nbsp؛ على & nbsp؛ على & nbsp؛ من التاريخ والوقت التاريخ والوقت استيراد
على & nbsp؛ على & nbsp؛ على & nbsp؛ من الهجرة changeset استيراد
على & nbsp؛ على & nbsp؛ على & nbsp؛ من talkatv ديسيبل استيراد
على & nbsp؛ على & nbsp؛ على & nbsp؛ فئة المستخدم (db.Model):
على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ معرف = db.Column (db.Integer، primary_key = صحيح)
على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ اسم المستخدم = db.Column (db.String (60)، فريدة من نوعها = صحيح)
على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ البريد الإلكتروني = db.Column (db.String (255)، فريدة من نوعها = صحيح)
على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ كلمة المرور = db.Column (db.String (60))
على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ مواطنه __init __ (النفس، اسم المستخدم والبريد الإلكتروني وكلمة المرور = بلا هوية OpenID = لا يوجد):
على & 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 = البريد الإلكتروني
على & 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؛ إذا رض:
على & 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؛ مواطنه __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؛ معرف = 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 ('openids "، كسول =' ديناميكية '))
على & 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؛ معرف = 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 ('البنود'، كسول = 'ديناميكية'))
على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ على & nbsp؛ مواطنه __init __ (النفس، رابط، العنوان، الموقع = لا يوجد):
على & 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؛ لي = {
"معرف": self.id،
'لقب': self.title،
'رابط': 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؛ معرف = 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 ('المواقع'، كسول = 'ديناميكية'))
على & 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؛ معرف = 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 ('تعليق'، كسول = 'ديناميكية'))
على & 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؛ مواطنه __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] + ('...' إذا ليون (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؛ لي = {
"معرف": 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؛ MODELS = [
على & 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؛ من طراز ميج المدى الواردات
على & nbsp؛ على & nbsp؛ على & nbsp؛ من mig.models استيراد MigrationData
على & nbsp؛ على & nbsp؛ على & nbsp؛ من yourapp ديسيبل استيراد
على & nbsp؛ على & nbsp؛ على & nbsp؛ من MODELS استيراد yourapp.models
على & nbsp؛ على & nbsp؛ على & nbsp؛ من هجرات استيراد yourapp.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 (اسم = ش '__ 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، ش '__ main__ "، ونماذج، والهجرات)
المتطلبات:
بيثون
لم يتم العثور على التعليقات