mirror of
https://github.com/simonw/sqlite-utils.git
synced 2026-09-17 14:04:11 +02:00
More .transform() tests
This commit is contained in:
parent
b34c9b40c2
commit
59692895fd
1 changed files with 23 additions and 0 deletions
|
|
@ -4,6 +4,7 @@ import pytest
|
|||
@pytest.mark.parametrize(
|
||||
"params,expected_sql",
|
||||
[
|
||||
# Identity transform - nothing changes
|
||||
(
|
||||
{},
|
||||
[
|
||||
|
|
@ -13,6 +14,17 @@ import pytest
|
|||
"ALTER TABLE [dogs_new_suffix] RENAME TO [dogs]",
|
||||
],
|
||||
),
|
||||
# Change column type
|
||||
(
|
||||
{"columns": {"age": int}},
|
||||
[
|
||||
"CREATE TABLE [dogs_new_suffix] (\n [id] INTEGER PRIMARY KEY,\n [name] TEXT,\n [age] INTEGER\n);",
|
||||
"INSERT INTO [dogs_new_suffix] ([id], [name], [age]) SELECT [id], [name], [age] FROM [dogs]",
|
||||
"DROP TABLE [dogs]",
|
||||
"ALTER TABLE [dogs_new_suffix] RENAME TO [dogs]",
|
||||
],
|
||||
),
|
||||
# Rename a column
|
||||
(
|
||||
{"rename": {"age": "dog_age"}},
|
||||
[
|
||||
|
|
@ -22,6 +34,7 @@ import pytest
|
|||
"ALTER TABLE [dogs_new_suffix] RENAME TO [dogs]",
|
||||
],
|
||||
),
|
||||
# Drop a column
|
||||
(
|
||||
{"drop": ["age"]},
|
||||
[
|
||||
|
|
@ -31,6 +44,16 @@ import pytest
|
|||
"ALTER TABLE [dogs_new_suffix] RENAME TO [dogs]",
|
||||
],
|
||||
),
|
||||
# Convert type AND rename column
|
||||
(
|
||||
{"columns": {"age": int}, "rename": {"age": "dog_age"}},
|
||||
[
|
||||
"CREATE TABLE [dogs_new_suffix] (\n [id] INTEGER PRIMARY KEY,\n [name] TEXT,\n [dog_age] INTEGER\n);",
|
||||
"INSERT INTO [dogs_new_suffix] ([id], [name], [dog_age]) SELECT [id], [name], [age] FROM [dogs]",
|
||||
"DROP TABLE [dogs]",
|
||||
"ALTER TABLE [dogs_new_suffix] RENAME TO [dogs]",
|
||||
],
|
||||
),
|
||||
],
|
||||
)
|
||||
def test_transform_sql(fresh_db, params, expected_sql):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue