mirror of
https://github.com/simonw/datasette.git
synced 2025-12-10 16:51:24 +01:00
Store null instead of 'None' in _internal database table, closes #1970
This commit is contained in:
parent
234230e595
commit
8aa9cf629c
2 changed files with 17 additions and 5 deletions
|
|
@ -1,4 +1,5 @@
|
|||
import asyncio
|
||||
from pydoc import plain
|
||||
from typing import Sequence, Union, Tuple, Optional, Dict, Iterable
|
||||
import asgi_csrf
|
||||
import collections
|
||||
|
|
@ -415,12 +416,19 @@ class Datasette:
|
|||
# Compare schema versions to see if we should skip it
|
||||
if schema_version == current_schema_versions.get(database_name):
|
||||
continue
|
||||
placeholders = "(?, ?, ?, ?)"
|
||||
values = [database_name, str(db.path), db.is_memory, schema_version]
|
||||
if db.path is None:
|
||||
placeholders = "(?, null, ?, ?)"
|
||||
values = [database_name, db.is_memory, schema_version]
|
||||
await internal_db.execute_write(
|
||||
"""
|
||||
INSERT OR REPLACE INTO databases (database_name, path, is_memory, schema_version)
|
||||
VALUES (?, ?, ?, ?)
|
||||
""",
|
||||
[database_name, str(db.path), db.is_memory, schema_version],
|
||||
VALUES {}
|
||||
""".format(
|
||||
placeholders
|
||||
),
|
||||
values,
|
||||
)
|
||||
await populate_schema_tables(internal_db, db)
|
||||
|
||||
|
|
|
|||
|
|
@ -19,8 +19,12 @@ async def test_internal_databases(ds_client):
|
|||
)
|
||||
).json()
|
||||
assert len(databases) == 2
|
||||
assert databases[0]["database_name"] == "_internal"
|
||||
assert databases[1]["database_name"] == "fixtures"
|
||||
internal, fixtures = databases
|
||||
assert internal["database_name"] == "_internal"
|
||||
assert internal["is_memory"] == 1
|
||||
assert internal["path"] is None
|
||||
assert isinstance(internal["schema_version"], int)
|
||||
assert fixtures["database_name"] == "fixtures"
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue