Skip to content

Commit 96289bd

Browse files
committed
feat(storage): add database schema v11-v12, blurhash and thumbnail entities
- Add new database migrations (v11, v12) - Add IdWithBlurHash entity for blurhash support - Add ThumbnailInfo entity for thumbnail data - Update GenerationResultDao with new queries - Update GenerationResultEntity with new fields - Update GenerationResultContract
1 parent d01ef07 commit 96289bd

File tree

8 files changed

+859
-1
lines changed

8 files changed

+859
-1
lines changed
Lines changed: 392 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,392 @@
1+
{
2+
"formatVersion": 1,
3+
"database": {
4+
"version": 11,
5+
"identityHash": "bd5d3206e9a1a5ba4f509fae3727cf71",
6+
"entities": [
7+
{
8+
"tableName": "generation_results",
9+
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `image_base_64` TEXT NOT NULL, `original_image_base_64` TEXT NOT NULL, `created_at` INTEGER NOT NULL, `generation_type` TEXT NOT NULL, `prompt` TEXT NOT NULL, `negative_prompt` TEXT NOT NULL, `width` INTEGER NOT NULL, `height` INTEGER NOT NULL, `sampling_steps` INTEGER NOT NULL, `cfg_scale` REAL NOT NULL, `restore_faces` INTEGER NOT NULL, `sampler` TEXT NOT NULL, `seed` TEXT NOT NULL, `sub_seed` TEXT NOT NULL DEFAULT '', `sub_seed_strength` REAL NOT NULL DEFAULT 0.0, `denoising_strength` REAL NOT NULL DEFAULT 0.0, `hidden` INTEGER NOT NULL DEFAULT 0, `media_path` TEXT NOT NULL DEFAULT '', `input_media_path` TEXT NOT NULL DEFAULT '', `media_type` TEXT NOT NULL DEFAULT 'IMAGE', `model_name` TEXT NOT NULL DEFAULT '', `blur_hash` TEXT NOT NULL DEFAULT '')",
10+
"fields": [
11+
{
12+
"fieldPath": "id",
13+
"columnName": "id",
14+
"affinity": "INTEGER",
15+
"notNull": true
16+
},
17+
{
18+
"fieldPath": "imageBase64",
19+
"columnName": "image_base_64",
20+
"affinity": "TEXT",
21+
"notNull": true
22+
},
23+
{
24+
"fieldPath": "originalImageBase64",
25+
"columnName": "original_image_base_64",
26+
"affinity": "TEXT",
27+
"notNull": true
28+
},
29+
{
30+
"fieldPath": "createdAt",
31+
"columnName": "created_at",
32+
"affinity": "INTEGER",
33+
"notNull": true
34+
},
35+
{
36+
"fieldPath": "generationType",
37+
"columnName": "generation_type",
38+
"affinity": "TEXT",
39+
"notNull": true
40+
},
41+
{
42+
"fieldPath": "prompt",
43+
"columnName": "prompt",
44+
"affinity": "TEXT",
45+
"notNull": true
46+
},
47+
{
48+
"fieldPath": "negativePrompt",
49+
"columnName": "negative_prompt",
50+
"affinity": "TEXT",
51+
"notNull": true
52+
},
53+
{
54+
"fieldPath": "width",
55+
"columnName": "width",
56+
"affinity": "INTEGER",
57+
"notNull": true
58+
},
59+
{
60+
"fieldPath": "height",
61+
"columnName": "height",
62+
"affinity": "INTEGER",
63+
"notNull": true
64+
},
65+
{
66+
"fieldPath": "samplingSteps",
67+
"columnName": "sampling_steps",
68+
"affinity": "INTEGER",
69+
"notNull": true
70+
},
71+
{
72+
"fieldPath": "cfgScale",
73+
"columnName": "cfg_scale",
74+
"affinity": "REAL",
75+
"notNull": true
76+
},
77+
{
78+
"fieldPath": "restoreFaces",
79+
"columnName": "restore_faces",
80+
"affinity": "INTEGER",
81+
"notNull": true
82+
},
83+
{
84+
"fieldPath": "sampler",
85+
"columnName": "sampler",
86+
"affinity": "TEXT",
87+
"notNull": true
88+
},
89+
{
90+
"fieldPath": "seed",
91+
"columnName": "seed",
92+
"affinity": "TEXT",
93+
"notNull": true
94+
},
95+
{
96+
"fieldPath": "subSeed",
97+
"columnName": "sub_seed",
98+
"affinity": "TEXT",
99+
"notNull": true,
100+
"defaultValue": "''"
101+
},
102+
{
103+
"fieldPath": "subSeedStrength",
104+
"columnName": "sub_seed_strength",
105+
"affinity": "REAL",
106+
"notNull": true,
107+
"defaultValue": "0.0"
108+
},
109+
{
110+
"fieldPath": "denoisingStrength",
111+
"columnName": "denoising_strength",
112+
"affinity": "REAL",
113+
"notNull": true,
114+
"defaultValue": "0.0"
115+
},
116+
{
117+
"fieldPath": "hidden",
118+
"columnName": "hidden",
119+
"affinity": "INTEGER",
120+
"notNull": true,
121+
"defaultValue": "0"
122+
},
123+
{
124+
"fieldPath": "mediaPath",
125+
"columnName": "media_path",
126+
"affinity": "TEXT",
127+
"notNull": true,
128+
"defaultValue": "''"
129+
},
130+
{
131+
"fieldPath": "inputMediaPath",
132+
"columnName": "input_media_path",
133+
"affinity": "TEXT",
134+
"notNull": true,
135+
"defaultValue": "''"
136+
},
137+
{
138+
"fieldPath": "mediaType",
139+
"columnName": "media_type",
140+
"affinity": "TEXT",
141+
"notNull": true,
142+
"defaultValue": "'IMAGE'"
143+
},
144+
{
145+
"fieldPath": "modelName",
146+
"columnName": "model_name",
147+
"affinity": "TEXT",
148+
"notNull": true,
149+
"defaultValue": "''"
150+
},
151+
{
152+
"fieldPath": "blurHash",
153+
"columnName": "blur_hash",
154+
"affinity": "TEXT",
155+
"notNull": true,
156+
"defaultValue": "''"
157+
}
158+
],
159+
"primaryKey": {
160+
"autoGenerate": true,
161+
"columnNames": [
162+
"id"
163+
]
164+
},
165+
"indices": [],
166+
"foreignKeys": []
167+
},
168+
{
169+
"tableName": "local_models",
170+
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `type` TEXT NOT NULL DEFAULT 'onnx', `name` TEXT NOT NULL, `size` TEXT NOT NULL, `sources` TEXT NOT NULL, `chipset_suffix` TEXT DEFAULT NULL, `run_on_cpu` INTEGER NOT NULL DEFAULT 0, PRIMARY KEY(`id`))",
171+
"fields": [
172+
{
173+
"fieldPath": "id",
174+
"columnName": "id",
175+
"affinity": "TEXT",
176+
"notNull": true
177+
},
178+
{
179+
"fieldPath": "type",
180+
"columnName": "type",
181+
"affinity": "TEXT",
182+
"notNull": true,
183+
"defaultValue": "'onnx'"
184+
},
185+
{
186+
"fieldPath": "name",
187+
"columnName": "name",
188+
"affinity": "TEXT",
189+
"notNull": true
190+
},
191+
{
192+
"fieldPath": "size",
193+
"columnName": "size",
194+
"affinity": "TEXT",
195+
"notNull": true
196+
},
197+
{
198+
"fieldPath": "sources",
199+
"columnName": "sources",
200+
"affinity": "TEXT",
201+
"notNull": true
202+
},
203+
{
204+
"fieldPath": "chipsetSuffix",
205+
"columnName": "chipset_suffix",
206+
"affinity": "TEXT",
207+
"notNull": false,
208+
"defaultValue": "NULL"
209+
},
210+
{
211+
"fieldPath": "runOnCpu",
212+
"columnName": "run_on_cpu",
213+
"affinity": "INTEGER",
214+
"notNull": true,
215+
"defaultValue": "0"
216+
}
217+
],
218+
"primaryKey": {
219+
"autoGenerate": false,
220+
"columnNames": [
221+
"id"
222+
]
223+
},
224+
"indices": [],
225+
"foreignKeys": []
226+
},
227+
{
228+
"tableName": "hugging_face_models",
229+
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `name` TEXT NOT NULL, `alias` TEXT NOT NULL, `source` TEXT NOT NULL, PRIMARY KEY(`id`))",
230+
"fields": [
231+
{
232+
"fieldPath": "id",
233+
"columnName": "id",
234+
"affinity": "TEXT",
235+
"notNull": true
236+
},
237+
{
238+
"fieldPath": "name",
239+
"columnName": "name",
240+
"affinity": "TEXT",
241+
"notNull": true
242+
},
243+
{
244+
"fieldPath": "alias",
245+
"columnName": "alias",
246+
"affinity": "TEXT",
247+
"notNull": true
248+
},
249+
{
250+
"fieldPath": "source",
251+
"columnName": "source",
252+
"affinity": "TEXT",
253+
"notNull": true
254+
}
255+
],
256+
"primaryKey": {
257+
"autoGenerate": false,
258+
"columnNames": [
259+
"id"
260+
]
261+
},
262+
"indices": [],
263+
"foreignKeys": []
264+
},
265+
{
266+
"tableName": "supporters",
267+
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER NOT NULL, `name` TEXT NOT NULL, `date` INTEGER NOT NULL, `message` TEXT NOT NULL, PRIMARY KEY(`id`))",
268+
"fields": [
269+
{
270+
"fieldPath": "id",
271+
"columnName": "id",
272+
"affinity": "INTEGER",
273+
"notNull": true
274+
},
275+
{
276+
"fieldPath": "name",
277+
"columnName": "name",
278+
"affinity": "TEXT",
279+
"notNull": true
280+
},
281+
{
282+
"fieldPath": "date",
283+
"columnName": "date",
284+
"affinity": "INTEGER",
285+
"notNull": true
286+
},
287+
{
288+
"fieldPath": "message",
289+
"columnName": "message",
290+
"affinity": "TEXT",
291+
"notNull": true
292+
}
293+
],
294+
"primaryKey": {
295+
"autoGenerate": false,
296+
"columnNames": [
297+
"id"
298+
]
299+
},
300+
"indices": [],
301+
"foreignKeys": []
302+
},
303+
{
304+
"tableName": "fal_ai_endpoints",
305+
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `endpoint_id` TEXT NOT NULL, `title` TEXT NOT NULL, `description` TEXT NOT NULL, `category` TEXT NOT NULL, `group_name` TEXT NOT NULL DEFAULT 'Custom', `thumbnail_url` TEXT NOT NULL, `playground_url` TEXT NOT NULL, `documentation_url` TEXT NOT NULL, `is_custom` INTEGER NOT NULL DEFAULT 1, `schema_json` TEXT NOT NULL, PRIMARY KEY(`id`))",
306+
"fields": [
307+
{
308+
"fieldPath": "id",
309+
"columnName": "id",
310+
"affinity": "TEXT",
311+
"notNull": true
312+
},
313+
{
314+
"fieldPath": "endpointId",
315+
"columnName": "endpoint_id",
316+
"affinity": "TEXT",
317+
"notNull": true
318+
},
319+
{
320+
"fieldPath": "title",
321+
"columnName": "title",
322+
"affinity": "TEXT",
323+
"notNull": true
324+
},
325+
{
326+
"fieldPath": "description",
327+
"columnName": "description",
328+
"affinity": "TEXT",
329+
"notNull": true
330+
},
331+
{
332+
"fieldPath": "category",
333+
"columnName": "category",
334+
"affinity": "TEXT",
335+
"notNull": true
336+
},
337+
{
338+
"fieldPath": "group",
339+
"columnName": "group_name",
340+
"affinity": "TEXT",
341+
"notNull": true,
342+
"defaultValue": "'Custom'"
343+
},
344+
{
345+
"fieldPath": "thumbnailUrl",
346+
"columnName": "thumbnail_url",
347+
"affinity": "TEXT",
348+
"notNull": true
349+
},
350+
{
351+
"fieldPath": "playgroundUrl",
352+
"columnName": "playground_url",
353+
"affinity": "TEXT",
354+
"notNull": true
355+
},
356+
{
357+
"fieldPath": "documentationUrl",
358+
"columnName": "documentation_url",
359+
"affinity": "TEXT",
360+
"notNull": true
361+
},
362+
{
363+
"fieldPath": "isCustom",
364+
"columnName": "is_custom",
365+
"affinity": "INTEGER",
366+
"notNull": true,
367+
"defaultValue": "1"
368+
},
369+
{
370+
"fieldPath": "schemaJson",
371+
"columnName": "schema_json",
372+
"affinity": "TEXT",
373+
"notNull": true
374+
}
375+
],
376+
"primaryKey": {
377+
"autoGenerate": false,
378+
"columnNames": [
379+
"id"
380+
]
381+
},
382+
"indices": [],
383+
"foreignKeys": []
384+
}
385+
],
386+
"views": [],
387+
"setupQueries": [
388+
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
389+
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'bd5d3206e9a1a5ba4f509fae3727cf71')"
390+
]
391+
}
392+
}

0 commit comments

Comments
 (0)