Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ocelots - Megan M & Xuan Hien Pham #11

Open
wants to merge 32 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
e5e4a0c
Set up envoirnment and DB for first wave
maple-megan333 Jan 3, 2023
15e74ab
Updated to seperate routes
maple-megan333 Jan 4, 2023
8c993d0
First models complete.
maple-megan333 Jan 4, 2023
cac0747
Made dictionary methods for models!
maple-megan333 Jan 4, 2023
3443973
CRUD for video
HienXuanPham Jan 4, 2023
1e54c81
working on customer
maple-megan333 Jan 4, 2023
b80a7c1
Merge branch 'main' of https://github.com/maple-megan333/retro-video-…
maple-megan333 Jan 4, 2023
4ffae47
Post and get complete
maple-megan333 Jan 4, 2023
30850f7
customer deleted completed
maple-megan333 Jan 4, 2023
d08fca4
Finished put method!
maple-megan333 Jan 4, 2023
3622132
Updated database and added Video Model.
maple-megan333 Jan 5, 2023
08ab095
modify video_routes to pass all tests in test_wave_01
HienXuanPham Jan 5, 2023
1d76b94
Tweaked rentals and started rental Routes.
maple-megan333 Jan 5, 2023
6462e46
passed first 3 rental tests!
maple-megan333 Jan 5, 2023
75476aa
bacref > back_populates
maple-megan333 Jan 5, 2023
109796c
videos back_populate upgrade.
maple-megan333 Jan 5, 2023
01a8a85
passed all checkout tests.
maple-megan333 Jan 5, 2023
12840e7
dynamic calculation of available inventory added.
maple-megan333 Jan 5, 2023
879db46
rentals passes all checkin methods!
maple-megan333 Jan 5, 2023
f9d491c
finished rentals by video
maple-megan333 Jan 5, 2023
2b45c78
Wave 2 complete
maple-megan333 Jan 5, 2023
fc894c5
working through wave 3
maple-megan333 Jan 6, 2023
73105b0
trying to do current tests.
maple-megan333 Jan 6, 2023
53fa5b6
continuing ot try and debug.
maple-megan333 Jan 6, 2023
b406f87
cleaned up
maple-megan333 Jan 6, 2023
b11a185
still tryiing to debug videos_routes.
maple-megan333 Jan 6, 2023
c4471a2
morning debugging.
maple-megan333 Jan 6, 2023
894e2f0
passes wave 3 minus history!
maple-megan333 Jan 6, 2023
25e2c5f
created refactor branch and added routes history for customer and video
HienXuanPham Jan 9, 2023
a88658c
gunicorn on my system
maple-megan333 Jan 9, 2023
b05a5bf
finsihed deploying on personal heroku
maple-megan333 Jan 9, 2023
ae1a7e7
finsiehd deploying personal heroku
maple-megan333 Jan 9, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Set up envoirnment and DB for first wave
  • Loading branch information
maple-megan333 committed Jan 3, 2023
commit e5e4a0c866f079ba8b2347529c862e64f22bc0bb
1 change: 1 addition & 0 deletions migrations/README
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Generic single-database configuration.
45 changes: 45 additions & 0 deletions migrations/alembic.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# A generic, single database configuration.

[alembic]
# template used to generate migration files
# file_template = %%(rev)s_%%(slug)s

# set to 'true' to run the environment during
# the 'revision' command, regardless of autogenerate
# revision_environment = false


# Logging configuration
[loggers]
keys = root,sqlalchemy,alembic

[handlers]
keys = console

[formatters]
keys = generic

[logger_root]
level = WARN
handlers = console
qualname =

[logger_sqlalchemy]
level = WARN
handlers =
qualname = sqlalchemy.engine

[logger_alembic]
level = INFO
handlers =
qualname = alembic

[handler_console]
class = StreamHandler
args = (sys.stderr,)
level = NOTSET
formatter = generic

[formatter_generic]
format = %(levelname)-5.5s [%(name)s] %(message)s
datefmt = %H:%M:%S
96 changes: 96 additions & 0 deletions migrations/env.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
from __future__ import with_statement

import logging
from logging.config import fileConfig

from sqlalchemy import engine_from_config
from sqlalchemy import pool
from flask import current_app

from alembic import context

# this is the Alembic Config object, which provides
# access to the values within the .ini file in use.
config = context.config

# Interpret the config file for Python logging.
# This line sets up loggers basically.
fileConfig(config.config_file_name)
logger = logging.getLogger('alembic.env')

# add your model's MetaData object here
# for 'autogenerate' support
# from myapp import mymodel
# target_metadata = mymodel.Base.metadata
config.set_main_option(
'sqlalchemy.url',
str(current_app.extensions['migrate'].db.engine.url).replace('%', '%%'))
target_metadata = current_app.extensions['migrate'].db.metadata

# other values from the config, defined by the needs of env.py,
# can be acquired:
# my_important_option = config.get_main_option("my_important_option")
# ... etc.


def run_migrations_offline():
"""Run migrations in 'offline' mode.

This configures the context with just a URL
and not an Engine, though an Engine is acceptable
here as well. By skipping the Engine creation
we don't even need a DBAPI to be available.

Calls to context.execute() here emit the given string to the
script output.

"""
url = config.get_main_option("sqlalchemy.url")
context.configure(
url=url, target_metadata=target_metadata, literal_binds=True
)

with context.begin_transaction():
context.run_migrations()


def run_migrations_online():
"""Run migrations in 'online' mode.

In this scenario we need to create an Engine
and associate a connection with the context.

"""

# this callback is used to prevent an auto-migration from being generated
# when there are no changes to the schema
# reference: http://alembic.zzzcomputing.com/en/latest/cookbook.html
def process_revision_directives(context, revision, directives):
if getattr(config.cmd_opts, 'autogenerate', False):
script = directives[0]
if script.upgrade_ops.is_empty():
directives[:] = []
logger.info('No changes in schema detected.')

connectable = engine_from_config(
config.get_section(config.config_ini_section),
prefix='sqlalchemy.',
poolclass=pool.NullPool,
)

with connectable.connect() as connection:
context.configure(
connection=connection,
target_metadata=target_metadata,
process_revision_directives=process_revision_directives,
**current_app.extensions['migrate'].configure_args
)

with context.begin_transaction():
context.run_migrations()


if context.is_offline_mode():
run_migrations_offline()
else:
run_migrations_online()
24 changes: 24 additions & 0 deletions migrations/script.py.mako
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
"""${message}

Revision ID: ${up_revision}
Revises: ${down_revision | comma,n}
Create Date: ${create_date}

"""
from alembic import op
import sqlalchemy as sa
${imports if imports else ""}

# revision identifiers, used by Alembic.
revision = ${repr(up_revision)}
down_revision = ${repr(down_revision)}
branch_labels = ${repr(branch_labels)}
depends_on = ${repr(depends_on)}


def upgrade():
${upgrades if upgrades else "pass"}


def downgrade():
${downgrades if downgrades else "pass"}