30 lines
949 B
Python
30 lines
949 B
Python
from typing import Any, TYPE_CHECKING
|
|
|
|
if TYPE_CHECKING:
|
|
from ..sql import BrickSQL
|
|
|
|
|
|
# Grab the list of checkboxes to create a list of SQL columns
|
|
def migration_0007(sql: 'BrickSQL', /) -> dict[str, Any]:
|
|
# Don't realy on sql files as they could be removed in the future
|
|
sql.cursor.execute('SELECT "bricktracker_set_checkboxes"."id" FROM "bricktracker_set_checkboxes') # noqa: E501
|
|
records = sql.cursor.fetchall()
|
|
|
|
return {
|
|
'sources': ', '.join([
|
|
'"bricktracker_set_statuses_old"."status_{id}"'.format(id=record['id']) # noqa: E501
|
|
for record
|
|
in records
|
|
]),
|
|
'targets': ', '.join([
|
|
'"status_{id}"'.format(id=record['id'])
|
|
for record
|
|
in records
|
|
]),
|
|
'structure': ', '.join([
|
|
'"status_{id}" BOOLEAN NOT NULL DEFAULT 0'.format(id=record['id'])
|
|
for record
|
|
in records
|
|
])
|
|
}
|