From 9c55aca011589c676eadfa3779516989d433f6d6 Mon Sep 17 00:00:00 2001 From: Jimmy Zelinskie Date: Mon, 23 Mar 2015 15:40:43 -0400 Subject: [PATCH] migration: make resource_key nullable --- data/database.py | 2 +- ...31288f79df53_make_resource_key_nullable.py | 30 ++++++++++++++++++ test/data/test.db | Bin 294912 -> 294912 bytes 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 data/migrations/versions/31288f79df53_make_resource_key_nullable.py diff --git a/data/database.py b/data/database.py index 39a142b5b..4f8d8b999 100644 --- a/data/database.py +++ b/data/database.py @@ -521,7 +521,7 @@ class RepositoryBuild(BaseModel): uuid = CharField(default=uuid_generator, index=True) repository = ForeignKeyField(Repository, index=True) access_token = ForeignKeyField(AccessToken) - resource_key = CharField(index=True) + resource_key = CharField(index=True, null=True) job_config = TextField() phase = CharField(default=BUILD_PHASE.WAITING) started = DateTimeField(default=datetime.now) diff --git a/data/migrations/versions/31288f79df53_make_resource_key_nullable.py b/data/migrations/versions/31288f79df53_make_resource_key_nullable.py new file mode 100644 index 000000000..e52795ce6 --- /dev/null +++ b/data/migrations/versions/31288f79df53_make_resource_key_nullable.py @@ -0,0 +1,30 @@ +"""make resource_key nullable + +Revision ID: 31288f79df53 +Revises: 214350b6a8b1 +Create Date: 2015-03-23 14:34:04.816295 + +""" + +# revision identifiers, used by Alembic. +revision = '31288f79df53' +down_revision = '214350b6a8b1' + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import mysql + +def upgrade(tables): + ### commands auto generated by Alembic - please adjust! ### + op.alter_column('repositorybuild', 'resource_key', + existing_type=mysql.VARCHAR(length=255), + nullable=True) + ### end Alembic commands ### + + +def downgrade(tables): + ### commands auto generated by Alembic - please adjust! ### + op.alter_column('repositorybuild', 'resource_key', + existing_type=mysql.VARCHAR(length=255), + nullable=False) + ### end Alembic commands ### diff --git a/test/data/test.db b/test/data/test.db index d673e22915673a5e98fa4a9459582cb544394243..805e08f807d3abc3eba513158710edb55c2ed48e 100644 GIT binary patch delta 12592 zcmeG?X?RpcwsmiH_NKEy0wD?6L$=%8eF=o@ojskT)7b>&-tOC3NgyO40hy3d#}OS7 zq7;rOj0(t%%J*PYVL2ur7`A&~8p}shq-%I5L--d1rb{ zX`z2w%iZw>BL_08%#mf)Zzr|}9^vZ0d~+m%+G?I_-g!1@AZm*NM;@dGEHg8G*}2CS zz5~GT9nUw64d5EEfa+INo2+mYmESXy+^G{th92Y-Uf zP#Q0Dl;#mNmnyJ=D6=E(qjBXd7sn`BoRTGQR#|2lNeJr$!zn(&z^Q=Y8UDaOz~4U) zii+rBB%P)Nk!LBM(HTm1Gaia_Nwmm$T!KquM_xD@(cB<7Y}HC$Dd#9JQVJTGdbYw= z!B&+jRnA7GzPzYhsZ(mIn{A>}MOW09FtsJ6%?5q;(kW4HA{ltQdC#IqQ0Y~sbGa$u&rQ69)2Z0 zY$^{tFS7zSa_W_EkHo4Tfz$A=vVxi5WH+Vg9v1(hMTt=~MPuD7`n1kA*8~S{y3_7< z$b2c?+E~G1*`wQ(O9k0d>P33^* zMS&FYpqt7EXYquN>4(LOj(QnFfWX>zDa z-^jzqtU>4H#P0j@SeV(D6<~uPLr9Y?SkzWps01Lur#zP|TJ%rILd3!n!(16wO7Z;TeQjY%i>8Vhgx>S`zGe z&CWWpq|lL1izQV;Q!`&${IvOjvQmNEWvDK8=Y-J;l{CjKB zPrV*KF))X~${9Iw&l@YAc)}^p+WG!FQuUgF-=Gb zuSQO+<^zAKwD4lY#9}1;9)(Yvrtv>0uCt#9n*GRkVH*51MDdry>V0t`za-JpBc$I? zmZGWH2TPFn9|&+venV2}gaF~hLO)e@q|IO`;QPdOfz;-Hzn$=!h_543OX?bIqP?V+ zD=J_LZEQoG$W-u5QB$E^b~HE}>#DeV2iIUPL61fe$*3fXu&3IX!fL**vDl_G@%c4u zL0)OKY?G=B%NxoaWj1@2RMAwGXJ?y6@sv}+HIlA#qR6=@PUZ}Q!@DTWrSX(o#Ey^m zh$5}4J^G67EY-cdt*cjG)!W=7y1BVbvp9+^@VjiVGr&~!;w z6q#coxq$Qsgfjper$E+2b2P1aD2B%I0Z(M!Bt_$WUAm$P>gbt25uVf}K^7QB7Zr-5MHL^s$Wk)HDU>Se z980@Zn&U-u^=pJRQT1RJ7>$y3nx}Y0_E3sU%ap8Yv`3V6RZuzf+G~W6BzYvo#pyaF zXddj*MSM)kSlpw?E>;sX>`r;ayiP1kWK`D8F<8x6j~jm%t56CrY81!0c)TjDXp9?e ze4R*0#6cV9Hpbm<9aE~bi;`uPr#zY<>O75OCkY*WoycCIyHr)f5d#iwIJ~z@k|jwhj3E*r|ds@`4-afU96a-mzsW<=;I1z`!iOg6D%Uq**g%U-<&;c4Btm2j^ zf!1^v&y0S3oVaw^#BJf}ESj^@JpL{Y*>lKnw0;puf7jrz7n2$2<3;5B?;4z(>4S2! z$=vUvz|&LFgW2Sq?;SKRCg+4I##Q}JrpA^wA;)4eDOA3Q3NK q5ybNk^!35jAGF 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 WXk>K%oxBQrOzW@vDc^7;EdNh5){!m%