Set updated/modified field as nullable

This commit is contained in:
coolneng 2020-07-22 22:38:48 +02:00
parent a47f25a7dc
commit b1f1ffd0e2
Signed by: coolneng
GPG Key ID: 9893DA236405AF57
4 changed files with 46 additions and 47 deletions

View File

@ -64,7 +64,7 @@ def run_migrations_online():
with connectable.connect() as connection: with connectable.connect() as connection:
context.configure( context.configure(
connection=connection, target_metadata=target_metadata, connection=connection, target_metadata=target_metadata
) )
with context.begin_transaction(): with context.begin_transaction():

View File

@ -0,0 +1,45 @@
"""set modified/updated as nullable
Revision ID: 970563653ece
Revises:
Create Date: 2020-07-22 23:40:07.674252
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = "970563653ece"
down_revision = None
branch_labels = None
depends_on = None
def upgrade():
tables = {
"cities": "updated",
"games": "updated",
"games": "cancel_date",
"payments": "updated",
"player_availabilities": "updated",
"player_cancel_games": "updated",
"purchase_games": "updated",
"sports": "updated",
"teams": "updated",
"user_ratings": "updated",
"venues": "updated",
"venue_images": "updated",
"web_bookings": "updated",
}
for table, field in tables.items():
with op.batch_alter_table(table) as batch_op:
batch_op.alter_column(column_name=field, nullable=True, server_default=None)
query = "UPDATE {0} SET {1} = NULL WHERE {1} = '0000-00-00 00:00:00'".format(
table, field
)
op.execute(query)
def downgrade():
pass

View File

@ -1,45 +0,0 @@
"""make updated field nullable
Revision ID: eaa992d1469b
Revises:
Create Date: 2020-07-04 18:08:31.035209
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = "eaa992d1469b"
down_revision = None
branch_labels = None
depends_on = None
def upgrade():
tables = {
"modified": "cities",
"modified": "games",
"cancel_date": "games",
"modified": "payments",
"modified": "player_availabilities",
"modified": "player_cancel_games",
"modified": "purchase_games",
"modified": "sports",
"modified": "teams",
"modified": "user_ratings",
"modified": "venues",
"updated": "venue_images",
"updated": "web_bookings",
}
for field, table in tables.items():
with op.batch_alter_table(table) as batch_op:
batch_op.alter_column(column_name=field, nullable=True)
query = "UPDATE {0} SET {1} = NULL WHERE {1} = '0000-00-00 00:00:00'".format(
table, field
)
op.execute(query)
def downgrade():
pass

View File

@ -17,7 +17,6 @@ mkShell {
python38Packages.twilio python38Packages.twilio
sqlite sqlite
# Development tools # Development tools
black
python38Packages.isort python38Packages.isort
python38Packages.pyflakes python38Packages.pyflakes
]; ];