This commit is contained in:
Simon Willison 2020-07-26 09:28:20 -07:00
commit 774e82d562
2 changed files with 32 additions and 1 deletions

View file

@ -362,7 +362,6 @@ class Database:
""".format(
table=name, columns_sql=columns_sql, extra_pk=extra_pk
)
self.execute(sql)
return sql
def create_table(

View file

@ -0,0 +1,32 @@
import pytest
@pytest.mark.parametrize(
"params,expected_sql",
[
(
{},
[
"CREATE TABLE [dogs_new_suffix] (\n [id] INTEGER,\n [name] TEXT,\n [age] TEXT\n);\n ",
"INSERT INTO [dogs_new_suffix] ([age], [id], [name]) SELECT [age], [id], [name] FROM [dogs]",
"DROP TABLE [dogs]",
"ALTER TABLE [dogs_new_suffix] RENAME TO [dogs]",
],
),
(
{"rename": {"age": "dog_age"}},
[
"CREATE TABLE [dogs_new_suffix] (\n [id] INTEGER,\n [name] TEXT,\n [dog_age] TEXT\n);\n ",
"INSERT INTO [dogs_new_suffix] ([id], [dog_age], [name]) SELECT [id], [dog_age], [name] FROM [dogs]",
"DROP TABLE [dogs]",
"ALTER TABLE [dogs_new_suffix] RENAME TO [dogs]",
],
),
],
)
def test_transform_table_sql(fresh_db, params, expected_sql):
dogs = fresh_db["dogs"]
dogs.insert({"id": 1, "name": "Cleo", "age": "5"}, pk="id")
params["tmp_suffix"] = "suffix"
sql = dogs.transform_table_sql(**params)
assert sql == expected_sql