Skip to content

Commit 9f7cf10

Browse files
committed
Just changes needed for parent repo
1 parent 70b705c commit 9f7cf10

File tree

3 files changed

+54
-16
lines changed

3 files changed

+54
-16
lines changed

app.py

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1+
from datetime import datetime
2+
import os
3+
14
from flask import Flask, render_template, request, redirect, url_for, send_from_directory
25
from flask_sqlalchemy import SQLAlchemy
36
from flask_migrate import Migrate
47
from flask_wtf.csrf import CSRFProtect
5-
from datetime import datetime
6-
import os
8+
79

810
app = Flask(__name__, static_folder='static')
911
csrf = CSRFProtect(app)
@@ -29,22 +31,17 @@
2931
# Enable Flask-Migrate commands "flask db init/migrate/upgrade" to work
3032
migrate = Migrate(app, db)
3133

32-
# Create databases, if databases exists doesn't issue create
33-
# For schema changes, run "flask db migrate"
34+
# The import must be done after db initialization due to circular import issue
3435
from models import Restaurant, Review
35-
db.create_all()
36-
db.session.commit()
3736

3837
@app.route('/', methods=['GET'])
3938
def index():
40-
from models import Restaurant
4139
print('Request for index page received')
4240
restaurants = Restaurant.query.all()
4341
return render_template('index.html', restaurants=restaurants)
4442

4543
@app.route('/<int:id>', methods=['GET'])
4644
def details(id):
47-
from models import Restaurant, Review
4845
restaurant = Restaurant.query.where(Restaurant.id == id).first()
4946
reviews = Review.query.where(Review.restaurant==id)
5047
return render_template('details.html', restaurant=restaurant, reviews=reviews)
@@ -57,7 +54,6 @@ def create_restaurant():
5754
@app.route('/add', methods=['POST'])
5855
@csrf.exempt
5956
def add_restaurant():
60-
from models import Restaurant
6157
try:
6258
name = request.values.get('restaurant_name')
6359
street_address = request.values.get('street_address')
@@ -80,7 +76,6 @@ def add_restaurant():
8076
@app.route('/review/<int:id>', methods=['POST'])
8177
@csrf.exempt
8278
def add_review(id):
83-
from models import Review
8479
try:
8580
user_name = request.values.get('user_name')
8681
rating = request.values.get('rating')
@@ -105,7 +100,6 @@ def add_review(id):
105100
@app.context_processor
106101
def utility_processor():
107102
def star_rating(id):
108-
from models import Review
109103
reviews = Review.query.where(Review.restaurant==id)
110104

111105
ratings = []
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
"""Initial migration.
2+
3+
Revision ID: d0c7b8e4b57c
4+
Revises:
5+
Create Date: 2022-11-08 17:00:02.151921
6+
7+
"""
8+
from alembic import op
9+
import sqlalchemy as sa
10+
11+
12+
# revision identifiers, used by Alembic.
13+
revision = 'd0c7b8e4b57c'
14+
down_revision = None
15+
branch_labels = None
16+
depends_on = None
17+
18+
19+
def upgrade():
20+
# ### commands auto generated by Alembic - please adjust! ###
21+
op.create_table('restaurant',
22+
sa.Column('id', sa.Integer(), nullable=False),
23+
sa.Column('name', sa.String(length=50), nullable=True),
24+
sa.Column('street_address', sa.String(length=50), nullable=True),
25+
sa.Column('description', sa.String(length=250), nullable=True),
26+
sa.PrimaryKeyConstraint('id')
27+
)
28+
op.create_table('review',
29+
sa.Column('id', sa.Integer(), nullable=False),
30+
sa.Column('restaurant', sa.Integer(), nullable=True),
31+
sa.Column('user_name', sa.String(length=30), nullable=True),
32+
sa.Column('rating', sa.Integer(), nullable=True),
33+
sa.Column('review_text', sa.String(length=500), nullable=True),
34+
sa.Column('review_date', sa.DateTime(), nullable=True),
35+
sa.ForeignKeyConstraint(['restaurant'], ['restaurant.id'], ondelete='CASCADE'),
36+
sa.PrimaryKeyConstraint('id')
37+
)
38+
# ### end Alembic commands ###
39+
40+
41+
def downgrade():
42+
# ### commands auto generated by Alembic - please adjust! ###
43+
op.drop_table('review')
44+
op.drop_table('restaurant')
45+
# ### end Alembic commands ###

models.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
from app import db
21
from sqlalchemy import Column, Integer, String, ForeignKey, DateTime
3-
from sqlalchemy.orm import declarative_base, validates
2+
from sqlalchemy.orm import validates
3+
4+
from app import db
45

5-
# declarative base class
6-
Base = declarative_base()
76

87
class Restaurant(db.Model):
98
__tablename__ = 'restaurant'
@@ -29,4 +28,4 @@ def validate_rating(self, key, value):
2928
return value
3029

3130
def __str__(self):
32-
return self.restaurant.name + " (" + self.review_date.strftime("%x") +")"
31+
return self.restaurant.name + " (" + self.review_date.strftime("%x") +")"

0 commit comments

Comments
 (0)