Browse Source

Run these migrations on SQLite as well

Peter Justin 8 years ago
parent
commit
cabba1f335

+ 4 - 3
migrations/221d918aa9f0_add_user_authentication_infos.py

@@ -26,7 +26,8 @@ def upgrade():
 
 
 def downgrade():
 def downgrade():
     ### commands auto generated by Alembic - please adjust! ###
     ### commands auto generated by Alembic - please adjust! ###
-    op.drop_column('users', 'activated')
-    op.drop_column('users', 'login_attempts')
-    op.drop_column('users', 'last_failed_login')
+    with op.batch_alter_table('users', schema=None) as batch_op:
+        batch_op.drop_column('activated')
+        batch_op.drop_column('login_attempts')
+        batch_op.drop_column('last_failed_login')
     ### end Alembic commands ###
     ### end Alembic commands ###

+ 7 - 10
migrations/d87cea4e995d_remove_timezone_info_from_birthday_field.py

@@ -10,22 +10,19 @@ Create Date: 2016-11-19 09:19:28.000276
 revision = 'd87cea4e995d'
 revision = 'd87cea4e995d'
 down_revision = 'd9530a529b3f'
 down_revision = 'd9530a529b3f'
 
 
+
 from alembic import op
 from alembic import op
 import sqlalchemy as sa
 import sqlalchemy as sa
 import flaskbb
 import flaskbb
 
 
 
 
 def upgrade():
 def upgrade():
-    connection = op.get_bind()
-
-    if connection.engine.dialect.name != "sqlite":
-        # user/models.py
-        op.alter_column('users', 'birthday', type_=sa.DateTime(), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+    # user/models.py
+    with op.batch_alter_table('users') as batch_op:
+        batch_op.alter_column('birthday', type_=sa.DateTime(), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
 
 
 
 
 def downgrade():
 def downgrade():
-    connection = op.get_bind()
-
-    if connection.engine.dialect.name != "sqlite":
-        # user/models.py
-        op.alter_column('users', 'birthday', existing_type=sa.DateTime(), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+    # user/models.py
+    with op.batch_alter_table('users') as batch_op:
+        batch_op.alter_column('birthday', existing_type=sa.DateTime(), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)

+ 57 - 45
migrations/d9530a529b3f_add_timezone_awareness_for_datetime.py

@@ -5,67 +5,79 @@ Revises: 221d918aa9f0
 Create Date: 2016-06-21 09:39:38.348519
 Create Date: 2016-06-21 09:39:38.348519
 
 
 """
 """
+from alembic import op
+import sqlalchemy as sa
+import flaskbb
 
 
 # revision identifiers, used by Alembic.
 # revision identifiers, used by Alembic.
 revision = 'd9530a529b3f'
 revision = 'd9530a529b3f'
 down_revision = '221d918aa9f0'
 down_revision = '221d918aa9f0'
 
 
-from alembic import op
-import sqlalchemy as sa
-import flaskbb
-
 
 
 def upgrade():
 def upgrade():
-    connection = op.get_bind()
+    # batch_alter_table will only use the 'recreate' style on SQLite!
 
 
-    # Having a hard time with ALTER TABLE/COLUMN stuff in SQLite.. and because DateTime objects are stored as strings anyway,
-    # we can simply skip those migrations for SQLite
-    if connection.engine.dialect.name != "sqlite":
-        # user/models.py
-        op.alter_column('users', 'date_joined', existing_type=sa.DateTime(timezone=False), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
-        op.alter_column('users', 'lastseen', existing_type=sa.DateTime(), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
-        op.alter_column('users', 'birthday', existing_type=sa.DateTime(), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
-        op.alter_column('users', 'last_failed_login', existing_type=sa.DateTime(), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+    # user/models.py
+    with op.batch_alter_table('users') as batch_op:
+        batch_op.alter_column('date_joined', existing_type=sa.DateTime(timezone=False), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+        batch_op.alter_column('lastseen', existing_type=sa.DateTime(), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+        batch_op.alter_column('birthday', existing_type=sa.DateTime(), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+        batch_op.alter_column('last_failed_login', existing_type=sa.DateTime(), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
 
 
-        # message/models.py
-        op.alter_column('conversations', 'date_created', existing_type=sa.DateTime(timezone=False), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
-        op.alter_column('messages', 'date_created', existing_type=sa.DateTime(timezone=False), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+    # message/models.py
+    with op.batch_alter_table('conversations') as batch_op:
+        batch_op.alter_column('date_created', existing_type=sa.DateTime(timezone=False), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+    with op.batch_alter_table('messages') as batch_op:
+        batch_op.alter_column('date_created', existing_type=sa.DateTime(timezone=False), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
 
 
-        # forum/models.py
-        op.alter_column('topicsread', 'last_read', existing_type=sa.DateTime(timezone=False), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
-        op.alter_column('forumsread', 'last_read', existing_type=sa.DateTime(timezone=False), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
-        op.alter_column('forumsread', 'cleared', existing_type=sa.DateTime(timezone=False), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
-        op.alter_column('reports', 'reported', existing_type=sa.DateTime(timezone=False), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
-        op.alter_column('reports', 'zapped', existing_type=sa.DateTime(timezone=False), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
-        op.alter_column('posts', 'date_created', existing_type=sa.DateTime(timezone=False), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
-        op.alter_column('posts', 'date_modified', existing_type=sa.DateTime(timezone=False), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
-        op.alter_column('topics', 'date_created', existing_type=sa.DateTime(timezone=False), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
-        op.alter_column('topics', 'last_updated', existing_type=sa.DateTime(timezone=False), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
-        op.alter_column('forums', 'last_post_created', existing_type=sa.DateTime(timezone=False), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+    # forum/models.py
+    with op.batch_alter_table('topicsread') as batch_op:
+        batch_op.alter_column('last_read', existing_type=sa.DateTime(timezone=False), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+    with op.batch_alter_table('forumsread') as batch_op:
+        batch_op.alter_column('last_read', existing_type=sa.DateTime(timezone=False), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+        batch_op.alter_column('cleared', existing_type=sa.DateTime(timezone=False), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+    with op.batch_alter_table('reports') as batch_op:
+        batch_op.alter_column('reported', existing_type=sa.DateTime(timezone=False), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+        batch_op.alter_column('zapped', existing_type=sa.DateTime(timezone=False), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+    with op.batch_alter_table('posts') as batch_op:
+        batch_op.alter_column('date_created', existing_type=sa.DateTime(timezone=False), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+        batch_op.alter_column('date_modified', existing_type=sa.DateTime(timezone=False), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+    with op.batch_alter_table('topics') as batch_op:
+        batch_op.alter_column('date_created', existing_type=sa.DateTime(timezone=False), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+        batch_op.alter_column('last_updated', existing_type=sa.DateTime(timezone=False), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+    with op.batch_alter_table('forums') as batch_op:
+        batch_op.alter_column('last_post_created', existing_type=sa.DateTime(timezone=False), type_=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
 
 
 
 
 def downgrade():
 def downgrade():
-    connection = op.get_bind()
 
 
-    if connection.engine.dialect.name != "sqlite":
         # user/models.py
         # user/models.py
-        op.alter_column('users', 'date_joined', type_=sa.DateTime(), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
-        op.alter_column('users', 'lastseen', type_=sa.DateTime(), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
-        op.alter_column('users', 'birthday', type_=sa.DateTime(), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
-        op.alter_column('users', 'last_failed_login', type_=sa.DateTime(), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+    with op.batch_alter_table('users') as batch_op:
+        batch_op.alter_column('date_joined', type_=sa.DateTime(), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+        batch_op.alter_column('lastseen', type_=sa.DateTime(), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+        batch_op.alter_column('birthday', type_=sa.DateTime(), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+        batch_op.alter_column('last_failed_login', type_=sa.DateTime(), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
 
 
         # message/models.py
         # message/models.py
-        op.alter_column('conversations', 'date_created', type_=sa.DateTime(timezone=False), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
-        op.alter_column('messages', 'date_created', type_=sa.DateTime(timezone=False), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+    with op.batch_alter_table('conversations') as batch_op:
+        batch_op.alter_column('date_created', type_=sa.DateTime(timezone=False), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+    with op.batch_alter_table('messages') as batch_op:
+        batch_op.alter_column('date_created', type_=sa.DateTime(timezone=False), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
 
 
         # forum/models.py
         # forum/models.py
-        op.alter_column('topicsread', 'last_read', type_=sa.DateTime(timezone=False), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
-        op.alter_column('forumsread', 'last_read', type_=sa.DateTime(timezone=False), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
-        op.alter_column('forumsread', 'cleared', type_=sa.DateTime(timezone=False), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
-        op.alter_column('reports', 'reported', type_=sa.DateTime(timezone=False), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
-        op.alter_column('reports', 'zapped', type_=sa.DateTime(timezone=False), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
-        op.alter_column('posts', 'date_created', type_=sa.DateTime(timezone=False), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
-        op.alter_column('posts', 'date_modified', type_=sa.DateTime(timezone=False), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
-        op.alter_column('topics', 'date_created', type_=sa.DateTime(timezone=False), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
-        op.alter_column('topics', 'last_updated', type_=sa.DateTime(timezone=False), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
-        op.alter_column('forums', 'last_post_created', type_=sa.DateTime(timezone=False), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+    with op.batch_alter_table('topicsread') as batch_op:
+        batch_op.alter_column('last_read', type_=sa.DateTime(timezone=False), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+    with op.batch_alter_table('forumsread') as batch_op:
+        batch_op.alter_column('last_read', type_=sa.DateTime(timezone=False), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+        batch_op.alter_column('cleared', type_=sa.DateTime(timezone=False), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+    with op.batch_alter_table('reports') as batch_op:
+        batch_op.alter_column('reported', type_=sa.DateTime(timezone=False), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+        batch_op.alter_column('zapped', type_=sa.DateTime(timezone=False), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+    with op.batch_alter_table('posts') as batch_op:
+        batch_op.alter_column('date_created', type_=sa.DateTime(timezone=False), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+        batch_op.alter_column('date_modified', type_=sa.DateTime(timezone=False), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+    with op.batch_alter_table('topics') as batch_op:
+        batch_op.alter_column('date_created', type_=sa.DateTime(timezone=False), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+        batch_op.alter_column('last_updated', type_=sa.DateTime(timezone=False), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)
+    with op.batch_alter_table('forums') as batch_op:
+        batch_op.alter_column('last_post_created', type_=sa.DateTime(timezone=False), existing_type=flaskbb.utils.database.UTCDateTime(timezone=True), existing_nullable=True)