commit:     f1a5e9bb01bb7fd802e7cf87b4e9dd675e910140
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Wed Dec  7 00:30:06 2016 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Wed Dec  7 00:30:06 2016 +0000
URL:        https://gitweb.gentoo.org/proj/grumpy.git/commit/?id=f1a5e9bb

models: Add description and last_sync_ts columns for Package

description we will get from package.g.o per-package detailed json,
last_sync_ts will be used to record when that detailed json was
last pulled, so that we can rate-limit as-needed.

If still using sqlite, can DROP TABLE package; and re-create with
./manage.py init
or add the columns manually
ALTER TABLE package ADD COLUMN description VARCHAR(500);
ALTER TABLE package ADD COLUMN last_sync_ts TIMESTAMP NOT NULL;

though that NOT NULL vs default on sqlalchemy's side for now might
pose an issue, solving of which is an easy exercise for those that care
instead of recreating.

 backend/lib/models.py | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/backend/lib/models.py b/backend/lib/models.py
index f842a8a..e06dcf8 100644
--- a/backend/lib/models.py
+++ b/backend/lib/models.py
@@ -1,3 +1,4 @@
+from datetime import datetime
 from .. import db
 
 
@@ -14,6 +15,8 @@ class Package(db.Model):
     name = db.Column(db.Unicode(128), nullable=False)
     category_id = db.Column(db.Integer, db.ForeignKey('category.id'), 
nullable=False)
     category = db.relationship('Category', backref=db.backref('packages', 
lazy='dynamic'))
+    description = db.Column(db.Unicode(500))
+    last_sync_ts = db.Column(db.TIMESTAMP, nullable=False, 
default=datetime.utcfromtimestamp(0))
 
     @property
     def full_name(self):
@@ -31,6 +34,7 @@ class PackageVersion(db.Model):
     def __repr__(self):
         return "<PackageVersion '%s/%s-%s'>" % (self.package.category.name, 
self.package.name, self.version)
 
+
 maintainer_project_membership_rel_table = 
db.Table('maintainer_project_membership_rel',
     db.Column('project_id', db.Integer, db.ForeignKey('maintainer.id')),
     db.Column('maintainer_id', db.Integer, db.ForeignKey('maintainer.id')),

Reply via email to