Fix sqlite only migration. (#579)

This commit is contained in:
Rémy HUBSCHER 2020-04-25 11:55:46 +02:00 committed by GitHub
parent d6d084f26a
commit 6129191b26
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 41 additions and 31 deletions

2
.gitignore vendored
View file

@ -11,4 +11,4 @@ build
.vscode
.env
.pytest_cache
ihatemoney/budget.db

View file

View file

@ -15,36 +15,46 @@ import sqlalchemy as sa
def upgrade():
alter_table_batches = [
op.batch_alter_table(
"person", recreate="always", table_kwargs={"sqlite_autoincrement": True}
),
op.batch_alter_table(
"bill", recreate="always", table_kwargs={"sqlite_autoincrement": True}
),
op.batch_alter_table(
"billowers", recreate="always", table_kwargs={"sqlite_autoincrement": True}
),
]
bind = op.get_bind()
if bind.engine.name == "sqlite":
alter_table_batches = [
op.batch_alter_table(
"person", recreate="always", table_kwargs={"sqlite_autoincrement": True}
),
op.batch_alter_table(
"bill", recreate="always", table_kwargs={"sqlite_autoincrement": True}
),
op.batch_alter_table(
"billowers",
recreate="always",
table_kwargs={"sqlite_autoincrement": True},
),
]
for batch_op in alter_table_batches:
with batch_op:
pass
for batch_op in alter_table_batches:
with batch_op:
pass
def downgrade():
alter_table_batches = [
op.batch_alter_table(
"person", recreate="always", table_kwargs={"sqlite_autoincrement": False}
),
op.batch_alter_table(
"bill", recreate="always", table_kwargs={"sqlite_autoincrement": False}
),
op.batch_alter_table(
"billowers", recreate="always", table_kwargs={"sqlite_autoincrement": False}
),
]
bind = op.get_bind()
if bind.engine.name == "sqlite":
alter_table_batches = [
op.batch_alter_table(
"person",
recreate="always",
table_kwargs={"sqlite_autoincrement": False},
),
op.batch_alter_table(
"bill", recreate="always", table_kwargs={"sqlite_autoincrement": False}
),
op.batch_alter_table(
"billowers",
recreate="always",
table_kwargs={"sqlite_autoincrement": False},
),
]
for batch_op in alter_table_batches:
with batch_op:
pass
for batch_op in alter_table_batches:
with batch_op:
pass