mirror of
https://github.com/GSA/notifications-api.git
synced 2026-09-11 02:23:32 -04:00
Merge pull request #659 from GSA/ADMIN-97_Resend_Expired_Invites
Admin 97 resend expired invites
This commit is contained in:
+16
-35
@@ -117,9 +117,7 @@ def purge_functional_test_data(user_email_prefix):
|
|||||||
current_app.logger.error("Can only be run in development")
|
current_app.logger.error("Can only be run in development")
|
||||||
return
|
return
|
||||||
|
|
||||||
users = User.query.filter(
|
users = User.query.filter(User.email_address.like(f"{user_email_prefix}%")).all()
|
||||||
User.email_address.like("{}%".format(user_email_prefix))
|
|
||||||
).all()
|
|
||||||
for usr in users:
|
for usr in users:
|
||||||
# Make sure the full email includes a uuid in it
|
# Make sure the full email includes a uuid in it
|
||||||
# Just in case someone decides to use a similar email address.
|
# Just in case someone decides to use a similar email address.
|
||||||
@@ -127,9 +125,7 @@ def purge_functional_test_data(user_email_prefix):
|
|||||||
uuid.UUID(usr.email_address.split("@")[0].split("+")[1])
|
uuid.UUID(usr.email_address.split("@")[0].split("+")[1])
|
||||||
except ValueError:
|
except ValueError:
|
||||||
print(
|
print(
|
||||||
"Skipping {} as the user email doesn't contain a UUID.".format(
|
f"Skipping {usr.email_address} as the user email doesn't contain a UUID."
|
||||||
usr.email_address
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
services = dao_fetch_all_services_by_user(usr.id)
|
services = dao_fetch_all_services_by_user(usr.id)
|
||||||
@@ -164,7 +160,7 @@ def purge_functional_test_data(user_email_prefix):
|
|||||||
def insert_inbound_numbers_from_file(file_name):
|
def insert_inbound_numbers_from_file(file_name):
|
||||||
# TODO maintainability what is the purpose of this command? Who would use it and why?
|
# TODO maintainability what is the purpose of this command? Who would use it and why?
|
||||||
|
|
||||||
print("Inserting inbound numbers from {}".format(file_name))
|
print(f"Inserting inbound numbers from {file_name}")
|
||||||
with open(file_name) as file:
|
with open(file_name) as file:
|
||||||
sql = "insert into inbound_numbers values('{}', '{}', 'sns', null, True, now(), null);"
|
sql = "insert into inbound_numbers values('{}', '{}', 'sns', null, True, now(), null);"
|
||||||
|
|
||||||
@@ -199,9 +195,7 @@ def rebuild_ft_billing_for_day(service_id, day):
|
|||||||
def rebuild_ft_data(process_day, service):
|
def rebuild_ft_data(process_day, service):
|
||||||
deleted_rows = delete_billing_data_for_service_for_day(process_day, service)
|
deleted_rows = delete_billing_data_for_service_for_day(process_day, service)
|
||||||
current_app.logger.info(
|
current_app.logger.info(
|
||||||
"deleted {} existing billing rows for {} on {}".format(
|
f"deleted {deleted_rows} existing billing rows for {service} on {process_day}"
|
||||||
deleted_rows, service, process_day
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
transit_data = fetch_billing_data_for_day(
|
transit_data = fetch_billing_data_for_day(
|
||||||
process_day=process_day, service_id=service
|
process_day=process_day, service_id=service
|
||||||
@@ -211,9 +205,7 @@ def rebuild_ft_billing_for_day(service_id, day):
|
|||||||
# upsert existing rows
|
# upsert existing rows
|
||||||
update_fact_billing(data, process_day)
|
update_fact_billing(data, process_day)
|
||||||
current_app.logger.info(
|
current_app.logger.info(
|
||||||
"added/updated {} billing rows for {} on {}".format(
|
f"added/updated {len(transit_data)} billing rows for {service} on {process_day}"
|
||||||
len(transit_data), service, process_day
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if service_id:
|
if service_id:
|
||||||
@@ -276,7 +268,7 @@ def bulk_invite_user_to_service(file_name, service_id, user_id, auth_type, permi
|
|||||||
}
|
}
|
||||||
current_app.logger.info(f"DATA = {data}")
|
current_app.logger.info(f"DATA = {data}")
|
||||||
with current_app.test_request_context(
|
with current_app.test_request_context(
|
||||||
path="/service/{}/invite/".format(service_id),
|
path=f"/service/{service_id}/invite/",
|
||||||
method="POST",
|
method="POST",
|
||||||
data=json.dumps(data),
|
data=json.dumps(data),
|
||||||
headers={"Content-Type": "application/json"},
|
headers={"Content-Type": "application/json"},
|
||||||
@@ -286,16 +278,12 @@ def bulk_invite_user_to_service(file_name, service_id, user_id, auth_type, permi
|
|||||||
current_app.logger.info(f"RESPONSE {response[1]}")
|
current_app.logger.info(f"RESPONSE {response[1]}")
|
||||||
if response[1] != 201:
|
if response[1] != 201:
|
||||||
print(
|
print(
|
||||||
"*** ERROR occurred for email address: {}".format(
|
f"*** ERROR occurred for email address: {email_address.strip()}"
|
||||||
email_address.strip()
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
print(response[0].get_data(as_text=True))
|
print(response[0].get_data(as_text=True))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(
|
print(
|
||||||
"*** ERROR occurred for email address: {}. \n{}".format(
|
f"*** ERROR occurred for email address: {email_address.strip()}. \n{e}"
|
||||||
email_address.strip(), e
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
file.close()
|
file.close()
|
||||||
@@ -318,7 +306,7 @@ def bulk_invite_user_to_service(file_name, service_id, user_id, auth_type, permi
|
|||||||
)
|
)
|
||||||
def update_jobs_archived_flag(start_date, end_date):
|
def update_jobs_archived_flag(start_date, end_date):
|
||||||
current_app.logger.info(
|
current_app.logger.info(
|
||||||
"Archiving jobs created between {} to {}".format(start_date, end_date)
|
f"Archiving jobs created between {start_date} to {end_date}"
|
||||||
)
|
)
|
||||||
|
|
||||||
process_date = start_date
|
process_date = start_date
|
||||||
@@ -331,21 +319,20 @@ def update_jobs_archived_flag(start_date, end_date):
|
|||||||
where
|
where
|
||||||
created_at >= (date :start + time '00:00:00')
|
created_at >= (date :start + time '00:00:00')
|
||||||
and created_at < (date :end + time '00:00:00')
|
and created_at < (date :end + time '00:00:00')
|
||||||
"""
|
"""
|
||||||
result = db.session.execute(
|
result = db.session.execute(
|
||||||
sql, {"start": process_date, "end": process_date + timedelta(days=1)}
|
sql, {"start": process_date, "end": process_date + timedelta(days=1)}
|
||||||
)
|
)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
current_app.logger.info(
|
current_app.logger.info(
|
||||||
"jobs: --- Completed took {}ms. Archived {} jobs for {}".format(
|
f"jobs: --- Completed took {datetime.now() - start_time}ms. Archived "
|
||||||
datetime.now() - start_time, result.rowcount, process_date
|
f"{result.rowcount} jobs for {process_date}"
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
process_date += timedelta(days=1)
|
process_date += timedelta(days=1)
|
||||||
|
|
||||||
total_updated += result.rowcount
|
total_updated += result.rowcount
|
||||||
current_app.logger.info("Total archived jobs = {}".format(total_updated))
|
current_app.logger.info(f"Total archived jobs = {total_updated}")
|
||||||
|
|
||||||
|
|
||||||
@notify_command(name="populate-organizations-from-file")
|
@notify_command(name="populate-organizations-from-file")
|
||||||
@@ -551,9 +538,7 @@ def fix_billable_units():
|
|||||||
show_prefix=notification.service.prefix_sms,
|
show_prefix=notification.service.prefix_sms,
|
||||||
)
|
)
|
||||||
print(
|
print(
|
||||||
"Updating notification: {} with {} billable_units".format(
|
f"Updating notification: {notification.id} with {template.fragment_count} billable_units"
|
||||||
notification.id, template.fragment_count
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
Notification.query.filter(Notification.id == notification.id).update(
|
Notification.query.filter(Notification.id == notification.id).update(
|
||||||
@@ -586,9 +571,7 @@ def process_row_from_job(job_id, job_row_number):
|
|||||||
if row.index == job_row_number:
|
if row.index == job_row_number:
|
||||||
notification_id = process_row(row, template, job, job.service)
|
notification_id = process_row(row, template, job, job.service)
|
||||||
current_app.logger.info(
|
current_app.logger.info(
|
||||||
"Process row {} for job {} created notification_id: {}".format(
|
f"Process row {job_row_number} for job {job_id} created notification_id: {notification_id}"
|
||||||
job_row_number, job_id, notification_id
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -623,9 +606,7 @@ def populate_annual_billing_with_the_previous_years_allowance(year):
|
|||||||
latest_annual_billing, {"service_id": row.id}
|
latest_annual_billing, {"service_id": row.id}
|
||||||
)
|
)
|
||||||
free_allowance = [x[0] for x in free_allowance_rows]
|
free_allowance = [x[0] for x in free_allowance_rows]
|
||||||
print(
|
print(f"create free limit of {free_allowance[0]} for service: {row.id}")
|
||||||
"create free limit of {} for service: {}".format(free_allowance[0], row.id)
|
|
||||||
)
|
|
||||||
dao_create_or_update_annual_billing_for_year(
|
dao_create_or_update_annual_billing_for_year(
|
||||||
service_id=row.id,
|
service_id=row.id,
|
||||||
free_sms_fragment_limit=free_allowance[0],
|
free_sms_fragment_limit=free_allowance[0],
|
||||||
|
|||||||
+16
-12
@@ -1,7 +1,7 @@
|
|||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
|
|
||||||
from app import db
|
from app import db
|
||||||
from app.models import INVITE_EXPIRED, InvitedUser
|
from app.models import INVITE_EXPIRED, INVITE_PENDING, InvitedUser
|
||||||
|
|
||||||
|
|
||||||
def save_invited_user(invited_user):
|
def save_invited_user(invited_user):
|
||||||
@@ -13,32 +13,36 @@ def get_invited_user_by_service_and_id(service_id, invited_user_id):
|
|||||||
return InvitedUser.query.filter(
|
return InvitedUser.query.filter(
|
||||||
InvitedUser.service_id == service_id,
|
InvitedUser.service_id == service_id,
|
||||||
InvitedUser.id == invited_user_id,
|
InvitedUser.id == invited_user_id,
|
||||||
InvitedUser.status != INVITE_EXPIRED,
|
).one()
|
||||||
|
|
||||||
|
|
||||||
|
def get_expired_invite_by_service_and_id(service_id, invited_user_id):
|
||||||
|
return InvitedUser.query.filter(
|
||||||
|
InvitedUser.service_id == service_id,
|
||||||
|
InvitedUser.id == invited_user_id,
|
||||||
|
InvitedUser.status == INVITE_EXPIRED,
|
||||||
).one()
|
).one()
|
||||||
|
|
||||||
|
|
||||||
def get_invited_user_by_id(invited_user_id):
|
def get_invited_user_by_id(invited_user_id):
|
||||||
return InvitedUser.query.filter(
|
return InvitedUser.query.filter(InvitedUser.id == invited_user_id).one()
|
||||||
InvitedUser.id == invited_user_id, InvitedUser.status != INVITE_EXPIRED
|
|
||||||
).one()
|
|
||||||
|
|
||||||
|
|
||||||
def get_expired_invited_users_for_service(service_id):
|
def get_expired_invited_users_for_service(service_id):
|
||||||
return InvitedUser.query.filter(
|
return InvitedUser.query.filter(InvitedUser.service_id == service_id).all()
|
||||||
InvitedUser.service_id == service_id, InvitedUser.status == INVITE_EXPIRED
|
|
||||||
).all()
|
|
||||||
|
|
||||||
|
|
||||||
def get_invited_users_for_service(service_id):
|
def get_invited_users_for_service(service_id):
|
||||||
return InvitedUser.query.filter(
|
return InvitedUser.query.filter(InvitedUser.service_id == service_id).all()
|
||||||
InvitedUser.service_id == service_id, InvitedUser.status != INVITE_EXPIRED
|
|
||||||
).all()
|
|
||||||
|
|
||||||
|
|
||||||
def expire_invitations_created_more_than_two_days_ago():
|
def expire_invitations_created_more_than_two_days_ago():
|
||||||
expired = (
|
expired = (
|
||||||
db.session.query(InvitedUser)
|
db.session.query(InvitedUser)
|
||||||
.filter(InvitedUser.created_at <= datetime.utcnow() - timedelta(days=2))
|
.filter(
|
||||||
|
InvitedUser.created_at <= datetime.utcnow() - timedelta(days=2),
|
||||||
|
InvitedUser.status.in_((INVITE_PENDING,)),
|
||||||
|
)
|
||||||
.update({InvitedUser.status: INVITE_EXPIRED})
|
.update({InvitedUser.status: INVITE_EXPIRED})
|
||||||
)
|
)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
|
|||||||
@@ -87,9 +87,7 @@ def persist_notification(
|
|||||||
if not notification_id:
|
if not notification_id:
|
||||||
notification_id = uuid.uuid4()
|
notification_id = uuid.uuid4()
|
||||||
|
|
||||||
current_app.logger.info(
|
current_app.logger.info(f"Persisting notification with id {notification_id}")
|
||||||
"Persisting notification with id {}".format(notification_id)
|
|
||||||
)
|
|
||||||
|
|
||||||
notification = Notification(
|
notification = Notification(
|
||||||
id=notification_id,
|
id=notification_id,
|
||||||
@@ -124,9 +122,7 @@ def persist_notification(
|
|||||||
notification.phone_prefix = recipient_info.country_prefix
|
notification.phone_prefix = recipient_info.country_prefix
|
||||||
notification.rate_multiplier = recipient_info.billable_units
|
notification.rate_multiplier = recipient_info.billable_units
|
||||||
elif notification_type == EMAIL_TYPE:
|
elif notification_type == EMAIL_TYPE:
|
||||||
current_app.logger.info(
|
current_app.logger.info(f"Persisting notification with type: {EMAIL_TYPE}")
|
||||||
"Persisting notification with type: {}".format(EMAIL_TYPE)
|
|
||||||
)
|
|
||||||
notification.normalised_to = format_email_address(notification.to)
|
notification.normalised_to = format_email_address(notification.to)
|
||||||
|
|
||||||
# if simulated create a Notification model to return but do not persist the Notification to the dB
|
# if simulated create a Notification model to return but do not persist the Notification to the dB
|
||||||
@@ -141,9 +137,7 @@ def persist_notification(
|
|||||||
)
|
)
|
||||||
|
|
||||||
current_app.logger.info(
|
current_app.logger.info(
|
||||||
"{} {} created at {}".format(
|
f"{notification_type} {notification_id} created at {notification_created_at}"
|
||||||
notification_type, notification_id, notification_created_at
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
return notification
|
return notification
|
||||||
|
|
||||||
@@ -170,15 +164,16 @@ def send_notification_to_queue_detached(
|
|||||||
raise
|
raise
|
||||||
|
|
||||||
current_app.logger.debug(
|
current_app.logger.debug(
|
||||||
"{} {} sent to the {} queue for delivery".format(
|
f"{notification_type} {notification_id} sent to the {queue} queue for delivery"
|
||||||
notification_type, notification_id, queue
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def send_notification_to_queue(notification, queue=None):
|
def send_notification_to_queue(notification, queue=None):
|
||||||
send_notification_to_queue_detached(
|
send_notification_to_queue_detached(
|
||||||
notification.key_type, notification.notification_type, notification.id, queue
|
notification.key_type,
|
||||||
|
notification.notification_type,
|
||||||
|
notification.id,
|
||||||
|
queue,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+46
-11
@@ -1,9 +1,12 @@
|
|||||||
|
from datetime import datetime
|
||||||
|
|
||||||
from flask import Blueprint, current_app, jsonify, request
|
from flask import Blueprint, current_app, jsonify, request
|
||||||
from itsdangerous import BadData, SignatureExpired
|
from itsdangerous import BadData, SignatureExpired
|
||||||
from notifications_utils.url_safe_token import check_token, generate_token
|
from notifications_utils.url_safe_token import check_token, generate_token
|
||||||
|
|
||||||
from app.config import QueueNames
|
from app.config import QueueNames
|
||||||
from app.dao.invited_user_dao import (
|
from app.dao.invited_user_dao import (
|
||||||
|
get_expired_invite_by_service_and_id,
|
||||||
get_expired_invited_users_for_service,
|
get_expired_invited_users_for_service,
|
||||||
get_invited_user_by_id,
|
get_invited_user_by_id,
|
||||||
get_invited_user_by_service_and_id,
|
get_invited_user_by_service_and_id,
|
||||||
@@ -12,7 +15,7 @@ from app.dao.invited_user_dao import (
|
|||||||
)
|
)
|
||||||
from app.dao.templates_dao import dao_get_template_by_id
|
from app.dao.templates_dao import dao_get_template_by_id
|
||||||
from app.errors import InvalidRequest, register_errors
|
from app.errors import InvalidRequest, register_errors
|
||||||
from app.models import EMAIL_TYPE, KEY_TYPE_NORMAL, Service
|
from app.models import EMAIL_TYPE, INVITE_PENDING, KEY_TYPE_NORMAL, Service
|
||||||
from app.notifications.process_notifications import (
|
from app.notifications.process_notifications import (
|
||||||
persist_notification,
|
persist_notification,
|
||||||
send_notification_to_queue,
|
send_notification_to_queue,
|
||||||
@@ -24,15 +27,11 @@ service_invite = Blueprint("service_invite", __name__)
|
|||||||
register_errors(service_invite)
|
register_errors(service_invite)
|
||||||
|
|
||||||
|
|
||||||
@service_invite.route("/service/<service_id>/invite", methods=["POST"])
|
def _create_service_invite(invited_user, invite_link_host):
|
||||||
def create_invited_user(service_id):
|
|
||||||
request_json = request.get_json()
|
|
||||||
invited_user = invited_user_schema.load(request_json)
|
|
||||||
save_invited_user(invited_user)
|
|
||||||
|
|
||||||
template_id = current_app.config["INVITATION_EMAIL_TEMPLATE_ID"]
|
template_id = current_app.config["INVITATION_EMAIL_TEMPLATE_ID"]
|
||||||
|
|
||||||
template = dao_get_template_by_id(template_id)
|
template = dao_get_template_by_id(template_id)
|
||||||
|
|
||||||
service = Service.query.get(current_app.config["NOTIFY_SERVICE_ID"])
|
service = Service.query.get(current_app.config["NOTIFY_SERVICE_ID"])
|
||||||
|
|
||||||
saved_notification = persist_notification(
|
saved_notification = persist_notification(
|
||||||
@@ -43,10 +42,7 @@ def create_invited_user(service_id):
|
|||||||
personalisation={
|
personalisation={
|
||||||
"user_name": invited_user.from_user.name,
|
"user_name": invited_user.from_user.name,
|
||||||
"service_name": invited_user.service.name,
|
"service_name": invited_user.service.name,
|
||||||
"url": invited_user_url(
|
"url": invited_user_url(invited_user.id, invite_link_host),
|
||||||
invited_user.id,
|
|
||||||
request_json.get("invite_link_host"),
|
|
||||||
),
|
|
||||||
},
|
},
|
||||||
notification_type=EMAIL_TYPE,
|
notification_type=EMAIL_TYPE,
|
||||||
api_key_id=None,
|
api_key_id=None,
|
||||||
@@ -56,6 +52,15 @@ def create_invited_user(service_id):
|
|||||||
|
|
||||||
send_notification_to_queue(saved_notification, queue=QueueNames.NOTIFY)
|
send_notification_to_queue(saved_notification, queue=QueueNames.NOTIFY)
|
||||||
|
|
||||||
|
|
||||||
|
@service_invite.route("/service/<service_id>/invite", methods=["POST"])
|
||||||
|
def create_invited_user(service_id):
|
||||||
|
request_json = request.get_json()
|
||||||
|
invited_user = invited_user_schema.load(request_json)
|
||||||
|
save_invited_user(invited_user)
|
||||||
|
|
||||||
|
_create_service_invite(invited_user, request_json.get("invite_link_host"))
|
||||||
|
|
||||||
return jsonify(data=invited_user_schema.dump(invited_user)), 201
|
return jsonify(data=invited_user_schema.dump(invited_user)), 201
|
||||||
|
|
||||||
|
|
||||||
@@ -92,6 +97,36 @@ def update_invited_user(service_id, invited_user_id):
|
|||||||
return jsonify(data=invited_user_schema.dump(fetched)), 200
|
return jsonify(data=invited_user_schema.dump(fetched)), 200
|
||||||
|
|
||||||
|
|
||||||
|
@service_invite.route(
|
||||||
|
"/service/<service_id>/invite/<invited_user_id>/resend", methods=["POST"]
|
||||||
|
)
|
||||||
|
def resend_service_invite(service_id, invited_user_id):
|
||||||
|
"""Resend an expired invite.
|
||||||
|
|
||||||
|
This resets the invited user's created date and status to make it a new invite, and
|
||||||
|
sends the new invite out to the user.
|
||||||
|
|
||||||
|
Note:
|
||||||
|
This ignores the POST data entirely.
|
||||||
|
"""
|
||||||
|
fetched = get_expired_invite_by_service_and_id(
|
||||||
|
service_id=service_id,
|
||||||
|
invited_user_id=invited_user_id,
|
||||||
|
)
|
||||||
|
|
||||||
|
fetched.created_at = datetime.utcnow()
|
||||||
|
fetched.status = INVITE_PENDING
|
||||||
|
|
||||||
|
current_data = {k: v for k, v in invited_user_schema.dump(fetched).items()}
|
||||||
|
update_dict = invited_user_schema.load(current_data)
|
||||||
|
|
||||||
|
save_invited_user(update_dict)
|
||||||
|
|
||||||
|
_create_service_invite(fetched, current_app.config["ADMIN_BASE_URL"])
|
||||||
|
|
||||||
|
return jsonify(data=invited_user_schema.dump(fetched)), 200
|
||||||
|
|
||||||
|
|
||||||
def invited_user_url(invited_user_id, invite_link_host=None):
|
def invited_user_url(invited_user_id, invite_link_host=None):
|
||||||
token = generate_token(
|
token = generate_token(
|
||||||
str(invited_user_id),
|
str(invited_user_id),
|
||||||
|
|||||||
+3
-3
@@ -1,10 +1,10 @@
|
|||||||
import os
|
import os
|
||||||
|
import socket
|
||||||
import sys
|
import sys
|
||||||
import traceback
|
import traceback
|
||||||
import gunicorn
|
|
||||||
import eventlet
|
|
||||||
import socket
|
|
||||||
|
|
||||||
|
import eventlet
|
||||||
|
import gunicorn
|
||||||
|
|
||||||
workers = 4
|
workers = 4
|
||||||
worker_class = "eventlet"
|
worker_class = "eventlet"
|
||||||
|
|||||||
+3
-1
@@ -1,7 +1,9 @@
|
|||||||
from __future__ import with_statement
|
from __future__ import with_statement
|
||||||
|
|
||||||
|
from logging.config import fileConfig
|
||||||
|
|
||||||
from alembic import context
|
from alembic import context
|
||||||
from sqlalchemy import engine_from_config, pool
|
from sqlalchemy import engine_from_config, pool
|
||||||
from logging.config import fileConfig
|
|
||||||
|
|
||||||
# this is the Alembic Config object, which provides
|
# this is the Alembic Config object, which provides
|
||||||
# access to the values within the .ini file in use.
|
# access to the values within the .ini file in use.
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-04-07 17:22:12.147542
|
|||||||
revision = "0001_restart_migrations"
|
revision = "0001_restart_migrations"
|
||||||
down_revision = None
|
down_revision = None
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,9 +10,9 @@ Create Date: 2016-04-15 12:12:46.383782
|
|||||||
revision = "0002_add_content_char_count"
|
revision = "0002_add_content_char_count"
|
||||||
down_revision = "0001_restart_migrations"
|
down_revision = "0001_restart_migrations"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
from sqlalchemy.sql import table, column
|
from alembic import op
|
||||||
|
from sqlalchemy.sql import column, table
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-04-19 13:01:54.519821
|
|||||||
revision = "0003_add_service_history"
|
revision = "0003_add_service_history"
|
||||||
down_revision = "0002_add_content_char_count"
|
down_revision = "0002_add_content_char_count"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-04-20 13:59:01.132535
|
|||||||
revision = "0004_notification_stats_date"
|
revision = "0004_notification_stats_date"
|
||||||
down_revision = "0003_add_service_history"
|
down_revision = "0003_add_service_history"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-04-20 15:13:42.229197
|
|||||||
revision = "0005_add_provider_stats"
|
revision = "0005_add_provider_stats"
|
||||||
down_revision = "0004_notification_stats_date"
|
down_revision = "0004_notification_stats_date"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-04-20 17:21:38.541766
|
|||||||
revision = "0006_api_keys_history"
|
revision = "0006_api_keys_history"
|
||||||
down_revision = "0005_add_provider_stats"
|
down_revision = "0005_add_provider_stats"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-04-22 09:51:55.615891
|
|||||||
revision = "0007_template_history"
|
revision = "0007_template_history"
|
||||||
down_revision = "0006_api_keys_history"
|
down_revision = "0006_api_keys_history"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-04-25 14:16:49.787229
|
|||||||
revision = "0008_archive_template"
|
revision = "0008_archive_template"
|
||||||
down_revision = "0007_template_history"
|
down_revision = "0007_template_history"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-04-26 14:54:56.852642
|
|||||||
revision = "0009_created_by_for_jobs"
|
revision = "0009_created_by_for_jobs"
|
||||||
down_revision = "0008_archive_template"
|
down_revision = "0008_archive_template"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-04-26 13:08:42.892813
|
|||||||
revision = "0010_events_table"
|
revision = "0010_events_table"
|
||||||
down_revision = "0009_created_by_for_jobs"
|
down_revision = "0009_created_by_for_jobs"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ down_revision = "0010_events_table"
|
|||||||
|
|
||||||
import uuid
|
import uuid
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-05-05 09:18:26.926275
|
|||||||
revision = "0012_complete_provider_details"
|
revision = "0012_complete_provider_details"
|
||||||
down_revision = "0011_ad_provider_details"
|
down_revision = "0011_ad_provider_details"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
from sqlalchemy.dialects.postgresql import ENUM
|
from sqlalchemy.dialects.postgresql import ENUM
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-05-11 16:00:51.478012
|
|||||||
revision = "0014_add_template_version"
|
revision = "0014_add_template_version"
|
||||||
down_revision = "0012_complete_provider_details"
|
down_revision = "0012_complete_provider_details"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-05-16 13:55:27.179748
|
|||||||
revision = "0015_fix_template_data"
|
revision = "0015_fix_template_data"
|
||||||
down_revision = "0014_add_template_version"
|
down_revision = "0014_add_template_version"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-05-17 09:59:49.032865
|
|||||||
revision = "0016_reply_to_email"
|
revision = "0016_reply_to_email"
|
||||||
down_revision = "0015_fix_template_data"
|
down_revision = "0015_fix_template_data"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,12 +10,8 @@ Create Date: 2016-05-17 11:23:36.881219
|
|||||||
revision = "0017_add_failure_types"
|
revision = "0017_add_failure_types"
|
||||||
down_revision = "0016_reply_to_email"
|
down_revision = "0016_reply_to_email"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
|
||||||
|
|
||||||
from alembic import op
|
from alembic import op
|
||||||
import sqlalchemy as sa
|
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-05-18 09:39:22.512042
|
|||||||
revision = "0018_remove_subject_uniqueness"
|
revision = "0018_remove_subject_uniqueness"
|
||||||
down_revision = "0017_add_failure_types"
|
down_revision = "0017_add_failure_types"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-05-18 15:04:24.513071
|
|||||||
revision = "0019_add_job_row_number"
|
revision = "0019_add_job_row_number"
|
||||||
down_revision = "0018_remove_subject_uniqueness"
|
down_revision = "0018_remove_subject_uniqueness"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-05-20 15:15:03.850862
|
|||||||
revision = "0020_template_history_fix"
|
revision = "0020_template_history_fix"
|
||||||
down_revision = "0019_add_job_row_number"
|
down_revision = "0019_add_job_row_number"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ from sqlalchemy import text
|
|||||||
revision = "0021_add_delivered_failed_counts"
|
revision = "0021_add_delivered_failed_counts"
|
||||||
down_revision = "0020_template_history_fix"
|
down_revision = "0020_template_history_fix"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-05-25 15:47:32.568097
|
|||||||
revision = "0022_add_pending_status"
|
revision = "0022_add_pending_status"
|
||||||
down_revision = "0021_add_delivered_failed_counts"
|
down_revision = "0021_add_delivered_failed_counts"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-05-31 11:11:45.979594
|
|||||||
revision = "0023_add_research_mode"
|
revision = "0023_add_research_mode"
|
||||||
down_revision = "0022_add_pending_status"
|
down_revision = "0022_add_pending_status"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-05-31 11:11:45.979594
|
|||||||
revision = "0024_add_research_mode_defaults"
|
revision = "0024_add_research_mode_defaults"
|
||||||
down_revision = "0023_add_research_mode"
|
down_revision = "0023_add_research_mode"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ Create Date: 2016-06-01 14:17:01.963181
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
import uuid
|
||||||
|
|
||||||
# revision identifiers, used by Alembic.
|
# revision identifiers, used by Alembic.
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
@@ -13,7 +15,6 @@ from alembic import op
|
|||||||
from sqlalchemy import text
|
from sqlalchemy import text
|
||||||
|
|
||||||
from app.hashing import hashpw
|
from app.hashing import hashpw
|
||||||
import uuid
|
|
||||||
|
|
||||||
revision = "0025_notify_service_data"
|
revision = "0025_notify_service_data"
|
||||||
down_revision = "0024_add_research_mode_defaults"
|
down_revision = "0024_add_research_mode_defaults"
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-06-07 09:51:07.343334
|
|||||||
revision = "0026_rename_notify_service"
|
revision = "0026_rename_notify_service"
|
||||||
down_revision = "0025_notify_service_data"
|
down_revision = "0025_notify_service_data"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ from sqlalchemy import text
|
|||||||
revision = "0028_fix_reg_template_history"
|
revision = "0028_fix_reg_template_history"
|
||||||
down_revision = "0026_rename_notify_service"
|
down_revision = "0026_rename_notify_service"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
service_id = "d6aa2c68-a2d9-4437-ab19-3ae8eb202553"
|
service_id = "d6aa2c68-a2d9-4437-ab19-3ae8eb202553"
|
||||||
user_id = "6af522d0-2915-4e52-83a3-3690455a5fe6"
|
user_id = "6af522d0-2915-4e52-83a3-3690455a5fe6"
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ from sqlalchemy import text
|
|||||||
revision = "0029_fix_email_from"
|
revision = "0029_fix_email_from"
|
||||||
down_revision = "0028_fix_reg_template_history"
|
down_revision = "0028_fix_reg_template_history"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
service_id = "d6aa2c68-a2d9-4437-ab19-3ae8eb202553"
|
service_id = "d6aa2c68-a2d9-4437-ab19-3ae8eb202553"
|
||||||
|
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ from sqlalchemy.dialects import postgresql
|
|||||||
revision = "0030_service_id_not_null"
|
revision = "0030_service_id_not_null"
|
||||||
down_revision = "0029_fix_email_from"
|
down_revision = "0029_fix_email_from"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-06-20 10:39:50.892847
|
|||||||
revision = "0031_store_personalisation"
|
revision = "0031_store_personalisation"
|
||||||
down_revision = "0030_service_id_not_null"
|
down_revision = "0030_service_id_not_null"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-06-21 11:29:28.963615
|
|||||||
revision = "0032_notification_created_status"
|
revision = "0032_notification_created_status"
|
||||||
down_revision = "0031_store_personalisation"
|
down_revision = "0031_store_personalisation"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-06-24 12:02:10.915817
|
|||||||
revision = "0033_api_key_type"
|
revision = "0033_api_key_type"
|
||||||
down_revision = "0032_notification_created_status"
|
down_revision = "0032_notification_created_status"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-06-28 10:37:25.389020
|
|||||||
revision = "0034_pwd_changed_at_not_null"
|
revision = "0034_pwd_changed_at_not_null"
|
||||||
down_revision = "0033_api_key_type"
|
down_revision = "0033_api_key_type"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-06-29 10:48:55.955317
|
|||||||
revision = "0035_notification_type"
|
revision = "0035_notification_type"
|
||||||
down_revision = "0034_pwd_changed_at_not_null"
|
down_revision = "0034_pwd_changed_at_not_null"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-07-01 16:01:16.892638
|
|||||||
revision = "0036_notif_key_type_not_null"
|
revision = "0036_notif_key_type_not_null"
|
||||||
down_revision = "0035_notification_type"
|
down_revision = "0035_notification_type"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-06-30 14:55:33.811696
|
|||||||
revision = "0037_service_sms_sender"
|
revision = "0037_service_sms_sender"
|
||||||
down_revision = "0036_notif_key_type_not_null"
|
down_revision = "0036_notif_key_type_not_null"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ from sqlalchemy import text
|
|||||||
revision = "0039_fix_notifications"
|
revision = "0039_fix_notifications"
|
||||||
down_revision = "0038_test_api_key_type"
|
down_revision = "0038_test_api_key_type"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-07-07 13:15:35.503107
|
|||||||
revision = "0042_notification_history"
|
revision = "0042_notification_history"
|
||||||
down_revision = "0039_fix_notifications"
|
down_revision = "0039_fix_notifications"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-08-01 10:37:41.198070
|
|||||||
revision = "0043_notification_indexes"
|
revision = "0043_notification_indexes"
|
||||||
down_revision = "0042_notification_history"
|
down_revision = "0042_notification_history"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,13 +10,13 @@ Create Date: 2016-07-15 13:28:41.441009
|
|||||||
revision = "0044_jobs_to_notification_hist"
|
revision = "0044_jobs_to_notification_hist"
|
||||||
down_revision = "0043_notification_indexes"
|
down_revision = "0043_notification_indexes"
|
||||||
|
|
||||||
from alembic import op
|
import datetime
|
||||||
|
import uuid
|
||||||
|
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.orm.session import Session
|
from sqlalchemy.orm.session import Session
|
||||||
|
|
||||||
import uuid
|
from app.models import Job, NotificationHistory, Template
|
||||||
import datetime
|
|
||||||
from app.models import Job, Template, NotificationHistory
|
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -7,13 +7,13 @@ Create Date: 2016-08-02 16:36:42.455838
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
# revision identifiers, used by Alembic.
|
# revision identifiers, used by Alembic.
|
||||||
from sqlalchemy import text, bindparam
|
from sqlalchemy import bindparam, text
|
||||||
|
|
||||||
revision = "0045_billable_units"
|
revision = "0045_billable_units"
|
||||||
down_revision = "0044_jobs_to_notification_hist"
|
down_revision = "0044_jobs_to_notification_hist"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.orm.session import Session
|
from sqlalchemy.orm.session import Session
|
||||||
|
|
||||||
from app.models import Service
|
from app.models import Service
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-08-04 12:00:43.682610
|
|||||||
revision = "0046_organisations_and_branding"
|
revision = "0046_organisations_and_branding"
|
||||||
down_revision = "0045_billable_units"
|
down_revision = "0045_billable_units"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-08-24 13:21:51.744526
|
|||||||
revision = "0048_job_scheduled_time"
|
revision = "0048_job_scheduled_time"
|
||||||
down_revision = "0046_organisations_and_branding"
|
down_revision = "0046_organisations_and_branding"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-08-24 13:21:51.744526
|
|||||||
revision = "0050_index_for_stats"
|
revision = "0050_index_for_stats"
|
||||||
down_revision = "0048_job_scheduled_time"
|
down_revision = "0048_job_scheduled_time"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-08-25 15:56:31.779399
|
|||||||
revision = "0052_drop_jobs_status"
|
revision = "0052_drop_jobs_status"
|
||||||
down_revision = "0051_set_job_status"
|
down_revision = "0051_set_job_status"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-09-01 14:34:06.839381
|
|||||||
revision = "0053_cancelled_job_status"
|
revision = "0053_cancelled_job_status"
|
||||||
down_revision = "0052_drop_jobs_status"
|
down_revision = "0052_drop_jobs_status"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-08-25 15:56:31.779399
|
|||||||
revision = "0054_perform_drop_status_column"
|
revision = "0054_perform_drop_status_column"
|
||||||
down_revision = "0053_cancelled_job_status"
|
down_revision = "0053_cancelled_job_status"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-09-20 12:12:30.838095
|
|||||||
revision = "0055_service_whitelist"
|
revision = "0055_service_whitelist"
|
||||||
down_revision = "0054_perform_drop_status_column"
|
down_revision = "0054_perform_drop_status_column"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-10-04 09:43:42.321138
|
|||||||
revision = "0056_minor_updates"
|
revision = "0056_minor_updates"
|
||||||
down_revision = "0055_service_whitelist"
|
down_revision = "0055_service_whitelist"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-10-25 17:37:27.660723
|
|||||||
revision = "0058_add_letters_flag"
|
revision = "0058_add_letters_flag"
|
||||||
down_revision = "0056_minor_updates"
|
down_revision = "0056_minor_updates"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ Create Date: 2016-11-07 16:13:18.961527
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
# revision identifiers, used by Alembic.
|
# revision identifiers, used by Alembic.
|
||||||
revision = "0060_add_letter_template_type"
|
revision = "0060_add_letter_template_type"
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2016-11-17 13:19:25.820617
|
|||||||
revision = "0061_add_client_reference"
|
revision = "0061_add_client_reference"
|
||||||
down_revision = "0060_add_letter_template_type"
|
down_revision = "0060_add_letter_template_type"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ Create Date: 2016-12-14 13:00:24.226990
|
|||||||
revision = "0062_provider_details_history"
|
revision = "0062_provider_details_history"
|
||||||
down_revision = "0061_add_client_reference"
|
down_revision = "0061_add_client_reference"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-01-10 15:39:30.909308
|
|||||||
revision = "0063_templates_process_type"
|
revision = "0063_templates_process_type"
|
||||||
down_revision = "0062_provider_details_history"
|
down_revision = "0062_provider_details_history"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-01-16 11:08:00.520678
|
|||||||
revision = "0064_update_template_process"
|
revision = "0064_update_template_process"
|
||||||
down_revision = "0063_templates_process_type"
|
down_revision = "0063_templates_process_type"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-02-17 11:48:40.669235
|
|||||||
revision = "0065_users_current_session_id"
|
revision = "0065_users_current_session_id"
|
||||||
down_revision = "0064_update_template_process"
|
down_revision = "0064_update_template_process"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-02-28 11:23:40.299110
|
|||||||
revision = "0067_service_contact_block"
|
revision = "0067_service_contact_block"
|
||||||
down_revision = "0065_users_current_session_id"
|
down_revision = "0065_users_current_session_id"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-03-06 17:19:28.492005
|
|||||||
revision = "0068_add_created_by_to_provider"
|
revision = "0068_add_created_by_to_provider"
|
||||||
down_revision = "0067_service_contact_block"
|
down_revision = "0067_service_contact_block"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-03-10 16:15:22.153948
|
|||||||
revision = "0069_add_dvla_job_status"
|
revision = "0069_add_dvla_job_status"
|
||||||
down_revision = "0068_add_created_by_to_provider"
|
down_revision = "0068_add_created_by_to_provider"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-03-10 16:15:22.153948
|
|||||||
revision = "0070_fix_notify_user_email"
|
revision = "0070_fix_notify_user_email"
|
||||||
down_revision = "0069_add_dvla_job_status"
|
down_revision = "0069_add_dvla_job_status"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-03-10 16:15:22.153948
|
|||||||
revision = "0071_add_job_error_state"
|
revision = "0071_add_job_error_state"
|
||||||
down_revision = "0070_fix_notify_user_email"
|
down_revision = "0070_fix_notify_user_email"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-04-19 15:25:45.155886
|
|||||||
revision = "0072_add_dvla_orgs"
|
revision = "0072_add_dvla_orgs"
|
||||||
down_revision = "0071_add_job_error_state"
|
down_revision = "0071_add_job_error_state"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-10-25 17:37:27.660723
|
|||||||
revision = "0073_add_international_sms_flag"
|
revision = "0073_add_international_sms_flag"
|
||||||
down_revision = "0072_add_dvla_orgs"
|
down_revision = "0072_add_dvla_orgs"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ from sqlalchemy import text
|
|||||||
revision = "0075_create_rates_table"
|
revision = "0075_create_rates_table"
|
||||||
down_revision = "0073_add_international_sms_flag"
|
down_revision = "0073_add_international_sms_flag"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-04-25 09:44:13.194164
|
|||||||
revision = "0076_add_intl_flag_to_provider"
|
revision = "0076_add_intl_flag_to_provider"
|
||||||
down_revision = "0075_create_rates_table"
|
down_revision = "0075_create_rates_table"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-04-25 11:34:43.229494
|
|||||||
revision = "0077_add_intl_notification"
|
revision = "0077_add_intl_notification"
|
||||||
down_revision = "0076_add_intl_flag_to_provider"
|
down_revision = "0076_add_intl_flag_to_provider"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-04-24 16:55:20.731069
|
|||||||
revision = "0078_sent_notification_status"
|
revision = "0078_sent_notification_status"
|
||||||
down_revision = "0077_add_intl_notification"
|
down_revision = "0077_add_intl_notification"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
enum_name = "notify_status_type"
|
enum_name = "notify_status_type"
|
||||||
tmp_name = "tmp_" + enum_name
|
tmp_name = "tmp_" + enum_name
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-05-02 14:50:04.070874
|
|||||||
revision = "0081_noti_status_as_enum"
|
revision = "0081_noti_status_as_enum"
|
||||||
down_revision = "0078_sent_notification_status"
|
down_revision = "0078_sent_notification_status"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -9,10 +9,9 @@ Create Date: 2017-05-10 16:06:04.070874
|
|||||||
# revision identifiers, used by Alembic.
|
# revision identifiers, used by Alembic.
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
from flask import current_app
|
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
from flask import current_app
|
||||||
from sqlalchemy import text
|
from sqlalchemy import text
|
||||||
|
|
||||||
revision = "0082_add_go_live_template"
|
revision = "0082_add_go_live_template"
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-05-12 11:29:32.664811
|
|||||||
revision = "0083_add_perm_types_and_svc_perm"
|
revision = "0083_add_perm_types_and_svc_perm"
|
||||||
down_revision = "0082_add_go_live_template"
|
down_revision = "0082_add_go_live_template"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-05-12 13:16:14.147368
|
|||||||
revision = "0084_add_job_stats"
|
revision = "0084_add_job_stats"
|
||||||
down_revision = "0083_add_perm_types_and_svc_perm"
|
down_revision = "0083_add_perm_types_and_svc_perm"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-05-22 10:23:43.939050
|
|||||||
revision = "0085_update_incoming_to_inbound"
|
revision = "0085_update_incoming_to_inbound"
|
||||||
down_revision = "0084_add_job_stats"
|
down_revision = "0084_add_job_stats"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ Create Date: 2017-05-23 10:37:00.404087
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
revision = "0086_add_norm_to_notification"
|
revision = "0086_add_norm_to_notification"
|
||||||
down_revision = "0085_update_incoming_to_inbound"
|
down_revision = "0085_update_incoming_to_inbound"
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ Revises: 0086_add_norm_to_notification
|
|||||||
Create Date: 2017-05-15 12:50:20.041950
|
Create Date: 2017-05-15 12:50:20.041950
|
||||||
|
|
||||||
"""
|
"""
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
revision = "0087_scheduled_notifications"
|
revision = "0087_scheduled_notifications"
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-05-22 11:28:53.471004
|
|||||||
revision = "0090_inbound_sms"
|
revision = "0090_inbound_sms"
|
||||||
down_revision = "0089_govuk_sms_sender"
|
down_revision = "0089_govuk_sms_sender"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-06-02 16:07:35.445423
|
|||||||
revision = "0092_add_inbound_provider"
|
revision = "0092_add_inbound_provider"
|
||||||
down_revision = "0090_inbound_sms"
|
down_revision = "0090_inbound_sms"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ Revises: 0092_add_inbound_provider
|
|||||||
Create Date: 2017-06-06 14:37:30.051647
|
Create Date: 2017-06-06 14:37:30.051647
|
||||||
|
|
||||||
"""
|
"""
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
# revision identifiers, used by Alembic.
|
# revision identifiers, used by Alembic.
|
||||||
revision = "0094_job_stats_update"
|
revision = "0094_job_stats_update"
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ from sqlalchemy import text
|
|||||||
revision = "0095_migrate_existing_svc_perms"
|
revision = "0095_migrate_existing_svc_perms"
|
||||||
down_revision = "0094_job_stats_update"
|
down_revision = "0094_job_stats_update"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
migration_date = "2017-05-26 17:30:00.000000"
|
migration_date = "2017-05-26 17:30:00.000000"
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-06-08 15:46:49.637642
|
|||||||
revision = "0096_update_job_stats"
|
revision = "0096_update_job_stats"
|
||||||
down_revision = "0095_migrate_existing_svc_perms"
|
down_revision = "0095_migrate_existing_svc_perms"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-06-02 16:50:11.698423
|
|||||||
revision = "0097_notnull_inbound_provider"
|
revision = "0097_notnull_inbound_provider"
|
||||||
down_revision = "0096_update_job_stats"
|
down_revision = "0096_update_job_stats"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ Revises: 0097_notnull_inbound_provider
|
|||||||
Create Date: 2017-06-13 15:02:33.609656
|
Create Date: 2017-06-13 15:02:33.609656
|
||||||
|
|
||||||
"""
|
"""
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
revision = "0098_service_inbound_api"
|
revision = "0098_service_inbound_api"
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ from sqlalchemy import text
|
|||||||
revision = "0099_tfl_dar"
|
revision = "0099_tfl_dar"
|
||||||
down_revision = "0098_service_inbound_api"
|
down_revision = "0098_service_inbound_api"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
TFL_DAR_ID = "1d70f564-919b-4c68-8bdf-b8520d92516e"
|
TFL_DAR_ID = "1d70f564-919b-4c68-8bdf-b8520d92516e"
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-06-13 10:53:25.032202
|
|||||||
revision = "0100_notification_created_by"
|
revision = "0100_notification_created_by"
|
||||||
down_revision = "0099_tfl_dar"
|
down_revision = "0099_tfl_dar"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-06-27 15:37:28.878359
|
|||||||
revision = "db6d9d9f06bc"
|
revision = "db6d9d9f06bc"
|
||||||
down_revision = "0101_een_logo"
|
down_revision = "0101_een_logo"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -12,10 +12,10 @@ from sqlalchemy import text
|
|||||||
revision = "0103_add_historical_redact"
|
revision = "0103_add_historical_redact"
|
||||||
down_revision = "db6d9d9f06bc"
|
down_revision = "db6d9d9f06bc"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
from sqlalchemy.dialects import postgresql
|
from alembic import op
|
||||||
from flask import current_app
|
from flask import current_app
|
||||||
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,10 +10,10 @@ Create Date: 2017-06-29 12:44:16.815039
|
|||||||
revision = "0105_opg_letter_org"
|
revision = "0105_opg_letter_org"
|
||||||
down_revision = "0103_add_historical_redact"
|
down_revision = "0103_add_historical_redact"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
from sqlalchemy.dialects import postgresql
|
from alembic import op
|
||||||
from flask import current_app
|
from flask import current_app
|
||||||
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-07-10 14:25:58.494636
|
|||||||
revision = "0107_drop_template_stats"
|
revision = "0107_drop_template_stats"
|
||||||
down_revision = "0106_null_noti_status"
|
down_revision = "0106_null_noti_status"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-07-06 10:14:35.188404
|
|||||||
revision = "0108_change_logo_not_nullable"
|
revision = "0108_change_logo_not_nullable"
|
||||||
down_revision = "0107_drop_template_stats"
|
down_revision = "0107_drop_template_stats"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ Revises: 0108_change_logo_not_nullable
|
|||||||
Create Date: 2017-07-10 14:25:15.712055
|
Create Date: 2017-07-10 14:25:15.712055
|
||||||
|
|
||||||
"""
|
"""
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
revision = "0109_rem_old_noti_status"
|
revision = "0109_rem_old_noti_status"
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-07-13 14:35:03.183659
|
|||||||
revision = "0110_monthly_billing"
|
revision = "0110_monthly_billing"
|
||||||
down_revision = "0109_rem_old_noti_status"
|
down_revision = "0109_rem_old_noti_status"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-07-12 13:35:45.636618
|
|||||||
revision = "0111_drop_old_service_flags"
|
revision = "0111_drop_old_service_flags"
|
||||||
down_revision = "0110_monthly_billing"
|
down_revision = "0110_monthly_billing"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -6,8 +6,9 @@ Create Date: 2017-07-12 13:35:45.636618
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy import text
|
from sqlalchemy import text
|
||||||
|
|
||||||
from app.dao.date_util import get_month_start_and_end_date_in_utc
|
from app.dao.date_util import get_month_start_and_end_date_in_utc
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-07-27 11:12:34.938086
|
|||||||
revision = "0113_job_created_by_nullable"
|
revision = "0113_job_created_by_nullable"
|
||||||
down_revision = "0112_add_start_end_dates"
|
down_revision = "0112_add_start_end_dates"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ Revises: 0113_job_created_by_nullable
|
|||||||
Create Date: 2017-07-27 13:36:37.304344
|
Create Date: 2017-07-27 13:36:37.304344
|
||||||
|
|
||||||
"""
|
"""
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
revision = "0014_drop_monthly_billing_cols"
|
revision = "0014_drop_monthly_billing_cols"
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Create Date: 2017-08-10 17:30:01.507694
|
|||||||
revision = "0115_add_inbound_numbers"
|
revision = "0115_add_inbound_numbers"
|
||||||
down_revision = "0014_drop_monthly_billing_cols"
|
down_revision = "0014_drop_monthly_billing_cols"
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
from sqlalchemy.dialects import postgresql
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user