From 50c1f2dea008008494fb5a4dca71fd5583d45ed1 Mon Sep 17 00:00:00 2001 From: jason2020 Date: Sun, 27 Feb 2022 15:21:39 -0800 Subject: [PATCH 1/4] Added column and update timestamp on get --- acm_url/routes.py | 3 +++ acm_url/schema.py | 1 + 2 files changed, 4 insertions(+) diff --git a/acm_url/routes.py b/acm_url/routes.py index fe68d76..5c364f1 100644 --- a/acm_url/routes.py +++ b/acm_url/routes.py @@ -1,3 +1,4 @@ +from datetime import datetime from flask import Flask, render_template, request, url_for, redirect, session from acm_url import app, db import string @@ -82,6 +83,8 @@ def vanity(vanity): if entry is None: return render_template('404.html') + entry.last_visited = datetime.timestamp(datetime.now()) + entry.visit_count = entry.visit_count + 1 db.session.commit() diff --git a/acm_url/schema.py b/acm_url/schema.py index f8909fb..24fa4ca 100644 --- a/acm_url/schema.py +++ b/acm_url/schema.py @@ -9,6 +9,7 @@ class URL(db.Model): url = db.Column(db.Text, nullable=False) created = db.Column(db.DateTime, server_default=func.now(), nullable=False) visit_count = db.Column(db.Integer, default=0, nullable=False) + last_visted = db.Column(db.DateTime, nullable=True) def __repr__(self): return ''.format(self.vanity) \ No newline at end of file From 74f2f80bc95e063a7e56250d84ec116f80726c7f Mon Sep 17 00:00:00 2001 From: jason2020 Date: Sun, 27 Feb 2022 15:31:54 -0800 Subject: [PATCH 2/4] Fixed db? --- acm_url/routes.py | 1 - migrations/versions/36772f67d5f0_.py | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/acm_url/routes.py b/acm_url/routes.py index 5c364f1..97c7b2a 100644 --- a/acm_url/routes.py +++ b/acm_url/routes.py @@ -84,7 +84,6 @@ def vanity(vanity): return render_template('404.html') entry.last_visited = datetime.timestamp(datetime.now()) - entry.visit_count = entry.visit_count + 1 db.session.commit() diff --git a/migrations/versions/36772f67d5f0_.py b/migrations/versions/36772f67d5f0_.py index 68da90b..7a3fbde 100644 --- a/migrations/versions/36772f67d5f0_.py +++ b/migrations/versions/36772f67d5f0_.py @@ -24,6 +24,7 @@ def upgrade(): sa.Column('url', sa.Text(), nullable=False), sa.Column('created', sa.DateTime(), server_default=sa.text('(CURRENT_TIMESTAMP)'), nullable=False), sa.Column('visit_count', sa.Integer(), nullable=False), + sa.Column("last_visited", sa.DateTime(), nullable=True), sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_URL_vanity'), 'URL', ['vanity'], unique=True) From 50e1251cde5e5a092c786357175454685b4c2653 Mon Sep 17 00:00:00 2001 From: jason2020 Date: Sun, 27 Feb 2022 15:33:53 -0800 Subject: [PATCH 3/4] Newline at the end of file --- acm_url/schema.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/acm_url/schema.py b/acm_url/schema.py index 24fa4ca..5d96d9c 100644 --- a/acm_url/schema.py +++ b/acm_url/schema.py @@ -12,4 +12,5 @@ class URL(db.Model): last_visted = db.Column(db.DateTime, nullable=True) def __repr__(self): - return ''.format(self.vanity) \ No newline at end of file + return ''.format(self.vanity) + \ No newline at end of file From aab25c67ed6c71a565b8f2fb0dc0163449e28e80 Mon Sep 17 00:00:00 2001 From: jason2020 Date: Sun, 27 Feb 2022 16:24:09 -0800 Subject: [PATCH 4/4] Fixed typo, working timestamp --- acm_url/routes.py | 2 +- acm_url/schema.py | 3 +- migrations/versions/2d3fd3b013f4_.py | 30 +++++++++++++++++++ .../{36772f67d5f0_.py => ed69a26bebbe_.py} | 6 ++-- 4 files changed, 35 insertions(+), 6 deletions(-) create mode 100644 migrations/versions/2d3fd3b013f4_.py rename migrations/versions/{36772f67d5f0_.py => ed69a26bebbe_.py} (89%) diff --git a/acm_url/routes.py b/acm_url/routes.py index 97c7b2a..3720611 100644 --- a/acm_url/routes.py +++ b/acm_url/routes.py @@ -83,7 +83,7 @@ def vanity(vanity): if entry is None: return render_template('404.html') - entry.last_visited = datetime.timestamp(datetime.now()) + entry.last_visited = datetime.now() entry.visit_count = entry.visit_count + 1 db.session.commit() diff --git a/acm_url/schema.py b/acm_url/schema.py index 5d96d9c..b8ee5a0 100644 --- a/acm_url/schema.py +++ b/acm_url/schema.py @@ -9,8 +9,7 @@ class URL(db.Model): url = db.Column(db.Text, nullable=False) created = db.Column(db.DateTime, server_default=func.now(), nullable=False) visit_count = db.Column(db.Integer, default=0, nullable=False) - last_visted = db.Column(db.DateTime, nullable=True) + last_visited = db.Column(db.DateTime, nullable=True) def __repr__(self): return ''.format(self.vanity) - \ No newline at end of file diff --git a/migrations/versions/2d3fd3b013f4_.py b/migrations/versions/2d3fd3b013f4_.py new file mode 100644 index 0000000..20e2bdc --- /dev/null +++ b/migrations/versions/2d3fd3b013f4_.py @@ -0,0 +1,30 @@ +"""empty message + +Revision ID: 2d3fd3b013f4 +Revises: ed69a26bebbe +Create Date: 2022-02-27 16:17:41.435362 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = '2d3fd3b013f4' +down_revision = 'ed69a26bebbe' +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('URL', sa.Column('last_visited', sa.DateTime(), nullable=True)) + op.drop_column('URL', 'last_visted') + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('URL', sa.Column('last_visted', sa.DATETIME(), nullable=True)) + op.drop_column('URL', 'last_visited') + # ### end Alembic commands ### diff --git a/migrations/versions/36772f67d5f0_.py b/migrations/versions/ed69a26bebbe_.py similarity index 89% rename from migrations/versions/36772f67d5f0_.py rename to migrations/versions/ed69a26bebbe_.py index 7a3fbde..d707cd5 100644 --- a/migrations/versions/36772f67d5f0_.py +++ b/migrations/versions/ed69a26bebbe_.py @@ -1,6 +1,6 @@ """empty message -Revision ID: 36772f67d5f0 +Revision ID: ed69a26bebbe Revises: Create Date: 2022-01-11 19:29:41.527717 @@ -10,7 +10,7 @@ # revision identifiers, used by Alembic. -revision = '36772f67d5f0' +revision = 'ed69a26bebbe' down_revision = None branch_labels = None depends_on = None @@ -24,7 +24,7 @@ def upgrade(): sa.Column('url', sa.Text(), nullable=False), sa.Column('created', sa.DateTime(), server_default=sa.text('(CURRENT_TIMESTAMP)'), nullable=False), sa.Column('visit_count', sa.Integer(), nullable=False), - sa.Column("last_visited", sa.DateTime(), nullable=True), + sa.Column('last_visited', sa.DateTime(), nullable=True), sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_URL_vanity'), 'URL', ['vanity'], unique=True)