Compare commits

...
Author SHA1 Message Date
Storyteller b500a10b95 Added strength parameters 2024-05-16 06:29:25 -07:00
Brandon Thomas f584cd103f tag token 2024-05-15 17:41:58 -07:00
Brandon Thomas ba76e70242 tag tables 2024-05-15 17:25:14 -07:00
Brandon Thomas 5ce3714f4f fix endpoint mounting 2024-05-15 17:16:40 -07:00
Brandon Thomas 031a88ee26 add upscaler/detailer to get_media_file 2024-05-15 16:57:31 -07:00
Brandon Thomas 479d3a5b27 add face detailer / upscaler params to output 2024-05-15 16:51:15 -07:00
Brandon Thomas 7565228b23 transactional redeem 2024-05-15 15:12:28 -07:00
Brandon Thomas d30fb30872 transaction 2024-05-15 15:07:27 -07:00
Brandon Thomas 9adf0d31d0 codegen db 2024-05-15 15:01:40 -07:00
Brandon Thomas df43cb3759 expire key once redeemed 2024-05-15 14:59:48 -07:00
Brandon Thomas 91705499da update runner to allow everyone access to upscaler 2024-05-15 14:55:01 -07:00
Brandon Thomas 043f2dcc70 add flags (but need to expire the key) 2024-05-15 14:52:18 -07:00
Brandon Thomas 6d42b2bf44 get beta key (todo: redeem) 2024-05-15 14:37:32 -07:00
Brandon Thomas ee8c3cfb1a list beta keys 2024-05-15 14:16:16 -07:00
Brandon Thomas df3ec24d27 insert beta keys should work 2024-05-15 13:32:52 -07:00
Brandon Thomas 181efc0b94 cross-cutting moderator lookup 2024-05-15 13:00:14 -07:00
Brandon Thomas 6cfa67de7f user lookup to return email 2024-05-15 12:33:02 -07:00
Brandon Thomas fdf3f7d4fb don't interrogate images for mp4 info 2024-05-15 01:32:32 -07:00
Brandon Thomas ccc79f78a7 don't show system files in list (todo: make param) 2024-05-15 00:39:38 -07:00
Brandon Thomas 9e04eb8e16 add param to upload video media file 2024-05-15 00:11:49 -07:00
Brandon Thomas 5273988ca1 new image upload endpoint w/ metadata, fix inference job 2024-05-14 14:09:59 -07:00
Brandon Thomas 257c168dc6 codegen db, comments 2024-05-14 13:53:00 -07:00
Brandon Thomas 3e906aca39 metadata on vst source, scene source, etc. 2024-05-14 13:50:35 -07:00
Brandon Thomas b929d1ac80 update vst to save upstream video and scene (if available) 2024-05-14 13:30:54 -07:00
Brandon Thomas 8507e21172 inference-job to look up upstream video style transfer source 2024-05-14 13:25:29 -07:00
Brandon Thomas 612a7f26e9 routing tag is now 64 wide 2024-05-14 12:44:17 -07:00
Brandon Thomas c062b62d57 organize deprecated endpoints 2024-05-13 21:51:31 -07:00
Brandon Thomas a9b7adfcce redeem beta key stub 2024-05-13 21:47:02 -07:00
Brandon Thomas b2b908269d beta keys list stub 2024-05-13 21:40:00 -07:00
Brandon Thomas 9fb3525ae6 new endpoint stubs and docs 2024-05-13 20:54:43 -07:00
Brandon Thomas 646f56dcd3 migration: widen routing tag 2024-05-13 19:52:41 -07:00
Brandon Thomas 55b9b96c68 fixup migration for beta_keys 2024-05-13 19:33:57 -07:00
Brandon Thomas 3d0f87807e only supply relevant args to comfy 2024-05-13 18:53:13 -07:00
Brandon Thomas 6555d10353 fix migrations we're about to run 2024-05-13 18:07:43 -07:00
Brandon Thomas edbcd6bf1d future argument for IP-Adapter 2024-05-13 17:30:16 -07:00
Brandon Thomas 612d79b909 reorganize some internal library crates 2024-05-13 16:42:50 -07:00
Brandon Thomas d5f07376ef face detailer and upscaler args 2024-05-13 16:24:34 -07:00
Brandon Thomas a7c747554a inference-job to send python more responsibilities 2024-05-13 15:54:49 -07:00
Brandon Thomas 8701001887 new workflow arg for style transfer rollout 2024-05-13 15:38:28 -07:00
Brandon Thomas f104fd1ead enroll users queries 2024-05-13 14:52:05 -07:00
Brandon Thomas d69735712a beta keys schema wip 2024-05-12 23:51:31 -07:00
Brandon Thomas f7b47dea0d wip beta keys 2024-05-12 20:51:11 -07:00
Brandon Thomas 55add87b44 document stripe billing create checkout 2024-05-11 17:23:23 -07:00
Brandon Thomas 0a18d9f5a2 pass tolt params to stripe checkout sessions 2024-05-11 17:13:27 -07:00
Brandon Thomas 10803a40f8 stripe checkout session args refactor 2024-05-11 17:01:41 -07:00
Brandon Thomas 044782e54c new columns for media files: is system file, upstream, nsfw status 2024-05-11 13:52:37 -07:00
Brandon Thomas 3aae3c77be csv media type 2024-05-09 11:39:29 -07:00
Kasisnu bf80caafc8 fix: casing on horror style filename (#321) 2024-05-09 04:37:32 +05:30
Brandon Thomas bb532a3ce1 add title to comfy videos from source 2024-05-08 16:00:29 -07:00
Brandon Thomas fc81071f9e form-multipart upload size limits 2024-05-08 15:52:33 -07:00
Brandon Thomas 2ad6fd10e6 add is_featured to get media file 2024-05-07 16:00:08 -07:00
Brandon Thomas 56ed02d520 force type for arkit 2024-05-07 13:38:58 -07:00
Brandon Thomas 7e0e63edc0 update comment 2024-05-07 13:24:11 -07:00
Brandon Thomas 52049bce66 allow csv uploads for animations 2024-05-07 13:17:48 -07:00
Brandon Thomas 759c3a9601 query to make files public 2024-05-07 11:27:20 -07:00
Brandon Thomas 8e449cf648 upload video endpoint 2024-05-07 09:43:31 -07:00
Brandon Thomas 6e59c44478 check featured endpoint 2024-05-06 23:23:11 -07:00
Brandon Thomas a38d4e9d3b codegen db 2024-05-06 10:57:48 -07:00
Brandon Thomas cac930f1bc fixes for empty title, add duration field for engine assets 2024-05-06 10:39:03 -07:00
Brandon Thomas 907c12c368 featured weights use new query 2024-05-05 13:31:40 -07:00
Brandon Thomas a799b53976 featured media files now powered by featured_items table 2024-05-05 03:10:01 -04:00
Brandon Thomas 11b5d57c5e fork list featured model weights -> pinned 2024-05-05 02:50:14 -04:00
Brandon Thomas 7b8439e2a6 fork featured media files -> pinned media files 2024-05-05 02:44:49 -04:00
Brandon Thomas 1a482657d3 route + doc featured items handlers 2024-05-05 01:57:29 -04:00
Brandon Thomas e53df57e43 codegen db 2024-05-05 01:48:50 -04:00
Brandon Thomas d99eef6b8d upsert and delete featured items (not yet routed or documented) 2024-05-05 01:47:37 -04:00
Brandon Thomas 44f5e14ded SQL for featured_items table 2024-05-03 23:15:15 -04:00
Brandon Thomas d2982b1fb7 Rokoko variant 2024-05-03 17:01:04 -04:00
Brandon Thomas 5c3f5ce59d new style name variants 2024-05-03 16:58:51 -04:00
Brandon Thomas 1c302fd8fc add "expression" enum 2024-05-03 10:38:19 -04:00
Brandon Thomas 196cbd63d9 upload audio endpoint 2024-05-02 10:57:54 -04:00
Brandon Thomas 26d16876d4 migrations 2024-05-01 18:16:29 -04:00
Brandon Thomas d0ac20ed1c docs 2024-05-01 16:31:12 -04:00
Brandon Thomas a6c2aec525 new upload asset endpoint 2024-05-01 14:14:50 -04:00
Brandon Thomas 9dd734975a deprecated endpoint 2024-05-01 10:27:18 -04:00
Brandon Thomas 87976256eb improve endpoint documentation 2024-05-01 10:18:50 -04:00
Brandon Thomas c4ec63af5e codegen db 2024-05-01 09:55:26 -04:00
Brandon Thomas 33fe4cc01c saved scene endpoint, update swagger docs 2024-05-01 09:53:58 -04:00
Brandon Thomas 2a8af9dbf8 fixup audio improperly categorized 2024-05-01 01:27:52 -04:00
Brandon Thomas a4d620621b estimated remaining rows 2024-05-01 00:16:42 -04:00
Brandon Thomas 916d1f9750 return rows updated 2024-05-01 00:00:20 -04:00
Brandon Thomas fa05ccb8b2 cleanup 2024-04-30 23:35:48 -04:00
Brandon Thomas dc7771aa9d CLI tool for quickly migrating enum values 2024-04-30 23:32:18 -04:00
Brandon Thomas 5e8402b757 codegen db 2024-04-30 22:22:33 -04:00
Brandon Thomas d1163b2bee fix more job media_class write types so they aren't "unknown" 2024-04-30 22:21:42 -04:00
Brandon Thomas 8dabb1c19e slightly more information on documentation, but utoipa isn't helping 2024-04-30 19:07:49 -04:00
Brandon Thomas 05b7d7a171 update docs 2024-04-30 18:51:32 -04:00
Brandon Thomas 245825319d New Actix Form Multipart upload endpoint with annotations (#320) 2024-04-30 18:44:25 -04:00
Brandon Thomas 5df0b13d57 duration bug on vst 2024-04-30 15:02:39 -04:00
Brandon Thomas ca64e652c4 codegen 2024-04-30 02:27:02 -04:00
Brandon Thomas f72ffeb919 media class on upload 2024-04-30 02:24:54 -04:00
Brandon Thomas b8bb335e99 correct metadata on comfy jobs 2024-04-30 02:05:10 -04:00
Brandon Thomas d30a84fb3e correct metadata in rvc and svc inference jobs 2024-04-30 01:52:16 -04:00
Brandon Thomas 141bc7a56d more figuring out unit economics 2024-04-30 01:41:43 -04:00
Brandon Thomas 1f900cabaa add metadata fields to media file upsert endpoints 2024-04-29 20:39:01 -04:00
Brandon Thomas 6fd1c9a804 documentation 2024-04-29 19:57:50 -04:00
Brandon Thomas 64927795e5 write and filter engine types (#319) 2024-04-29 18:46:48 -04:00
Brandon Thomas a15dfcc17b Merge pull request #318 from storytold/brandon-add-media-file-engine-metadata
Add engine metadata fields to all media_file GET/LIST endpoints
2024-04-29 13:28:05 -04:00
Brandon Thomas 0cc7177de5 Add engine metadata fields to all media_file GET/LIST endpoints 2024-04-29 13:25:36 -04:00
Brandon Thomas 56cca0d58c wip capacity planning 2024-04-29 12:13:56 -04:00
Brandon Thomas 26b84c19e3 add media file engine category 2024-04-29 09:49:43 -04:00
Brandon Thomas a947c10ed0 migration for engine category 2024-04-29 09:36:23 -04:00
Brandon Thomas fbcfab8662 expanded animation table 2024-04-29 08:02:50 -04:00
Brandon Thomas 3063436d18 visibility on upload endpoints 2024-04-27 12:09:47 -04:00
Brandon Thomas 68d24f2ec8 add duration_millis to list media files endpoints 2024-04-27 10:55:01 -04:00
Brandon Thomas c61e67e8f7 codegen db 2024-04-27 09:54:09 -04:00
Brandon Thomas a65b2264f3 SVC and RVC jobs handle media files now 2024-04-27 09:53:00 -04:00
Brandon Thomas ebf1729459 voice conversion: accept media file token, document 2024-04-27 09:07:47 -04:00
Brandon Thomas 465d35817f fix jobs query 2024-04-26 18:47:02 -04:00
Brandon Thomas 03ccb3b06f fix routes :| 2024-04-26 14:55:54 -04:00
Brandon Thomas bc16d5b048 fix delete job route, roll back terminate job (for now) 2024-04-26 11:00:45 -04:00
Brandon Thomas 502f46aabc fix query 2024-04-26 02:10:02 -04:00
Brandon Thomas 70e0aaf9e8 hide dismissed jobs from session jobs; codegen db 2024-04-26 01:26:12 -04:00
Brandon Thomas 7979b08bf5 dismiss jobs from view 2024-04-25 21:01:50 -04:00
Brandon Thomas f5a64c1eda migration: jobs dismissal 2024-04-25 01:09:34 -04:00
Brandon Thomas b462499f64 animation type enum 2024-04-25 00:37:18 -04:00
Brandon Thomas 16a383d405 migration for animation type 2024-04-25 00:30:39 -04:00
Brandon Thomas a724f279f7 codegen db 2024-04-24 20:35:47 -04:00
Brandon Thomas 306d04d665 add style_name (from prompt) to media file APIs 2024-04-24 20:34:08 -04:00
Brandon Thomas cd2e5d3696 query fix 2024-04-23 21:52:21 -04:00
Brandon Thomas cb3e76239e query fix 2024-04-23 21:51:16 -04:00
Brandon Thomas 8381c352f7 limit session jobs query 2024-04-23 21:13:03 -04:00
Brandon Thomas b08c32b7a9 documentation 2024-04-23 17:11:39 -04:00
Brandon Thomas 56b3510e1a list jobs for session endpoint 2024-04-23 17:02:00 -04:00
Brandon Thomas f2f3105131 remove old enums, fix build errors 2024-04-23 14:02:16 -04:00
Brandon Thomas ebe90ec789 align media type and media subtype (this is half complete) 2024-04-23 13:58:23 -04:00
Brandon Thomas 4d095e18b4 remove old media classes 2024-04-22 23:38:19 -04:00
Brandon Thomas 33782b48a7 codegen db 2024-04-22 22:04:01 -04:00
Brandon Thomas b6aee8d970 add style name to inference status endpoints 2024-04-22 21:56:14 -04:00
Brandon Thomas 6701da597d refactor 2024-04-22 21:33:31 -04:00
Brandon Thomas 5113409751 fix query 2024-04-22 16:57:39 -04:00
Brandon Thomas 0592145876 cleanup batch endpoint 2024-04-22 15:49:14 -04:00
Brandon Thomas 802c0b84ed fix batch query 2024-04-22 15:43:43 -04:00
Brandon Thomas 011cd7d800 batch get jobs 2024-04-22 15:25:35 -04:00
Brandon Thomas c0c9c4869a jobs docs 2024-04-22 14:29:42 -04:00
Brandon Thomas b7c4871ac0 move job routes 2024-04-22 14:27:12 -04:00
Brandon Thomas 273a9ee1c6 fix build error 2024-04-21 22:34:54 -04:00
Brandon Thomas f6d1478ce7 no longer read in 'media_file_class' 2024-04-21 22:32:09 -04:00
Brandon Thomas 743ad5ae3e handle vmd/pmd uploads 2024-04-21 22:30:29 -04:00
Brandon Thomas 4f774756d3 PMD and VMD file formats 2024-04-21 22:03:42 -04:00
Brandon Thomas 50dd095afe cleanup comfy job 2024-04-21 17:41:24 -04:00
Brandon Thomas 51d4bfa86d cleanup job code 2024-04-21 17:36:44 -04:00
Brandon Thomas cb5839217d better url 2024-04-21 14:19:41 -04:00
Brandon Thomas e06f672312 change prefix and suffix 2024-04-21 12:34:14 -04:00
Brandon Thomas 38037234fa comfy: cleanup video paths, upload non-watermarked version 2024-04-21 12:29:20 -04:00
ArEnSc 4872953f25 Merge pull request #317 from storytold/feature/prompt-position
Fix prompt positioning
2024-04-20 15:27:32 -04:00
arensc 61ce5959f8 Fix prompt positioning 2024-04-20 15:26:49 -04:00
Brandon Thomas f2b538f13d fix redis 2024-04-20 04:16:40 -04:00
Brandon Thomas fb98e50ff9 different redis cache purge 2024-04-20 04:12:44 -04:00
Brandon Thomas ed2cda2145 clear redis cache 2024-04-20 03:49:44 -04:00
Brandon Thomas 05087fc717 codegendb 2024-04-20 01:48:32 -04:00
Brandon Thomas 818e4eae1c add feature flags to moderator field of get profile 2024-04-20 01:47:43 -04:00
Brandon Thomas df955d5aca get rid of untyped field 2024-04-20 01:40:10 -04:00
Brandon Thomas 578bdf498a cleanup untyped tokens 2024-04-20 01:26:58 -04:00
Brandon Thomas 1a90efcdf7 codegen db 2024-04-20 00:52:30 -04:00
Brandon Thomas 9c42e76a3a insert audit log on feature flag change 2024-04-20 00:50:25 -04:00
Brandon Thomas aa20183e51 codegen db 2024-04-19 23:27:49 -04:00
Brandon Thomas c7f9a70ba0 update edit user feature flags 2024-04-19 23:27:04 -04:00
Brandon Thomas 1c43387f5a edit user feature flags handler (mod endpoint) 2024-04-19 22:42:29 -04:00
Brandon Thomas ca4b797ab9 various fixes 2024-04-17 21:52:17 -04:00
Brandon Thomas c83c27aeac restore audio to original video 2024-04-17 20:50:58 -04:00
Brandon Thomas 9a1ff78170 codegen db 2024-04-17 18:13:54 -04:00
Brandon Thomas 8aa56776cf seed tool broken; seed roles 2024-04-17 18:13:54 -04:00
Brandon Thomas 95198f6f7d fixup seed tool 2024-04-17 18:13:54 -04:00
Brandon Thomas 7306c0fc2c ffmpeg command runner 2024-04-17 18:13:54 -04:00
Brandon Thomas 27680fdfc6 logging 2024-04-17 18:13:54 -04:00
Brandon Thomas 8eb2d45660 cover image in list endpoints 2024-04-17 13:59:58 -04:00
Brandon Thomas 1d690a2c6f refactor 2024-04-17 13:53:50 -04:00
Brandon Thomas 7665a872d4 endpoint missing documentation 2024-04-17 10:55:44 -04:00
Brandon Thomas 820d1b71c0 cover image list endpoint 2024-04-17 02:47:03 -04:00
Brandon Thomas f7f5b798e0 refactor media file handler modules 2024-04-16 21:54:14 -04:00
Brandon Thomas f747ec6898 codegen db 2024-04-16 21:30:42 -04:00
Brandon Thomas eb7e9e5aa9 add cover images to get and batch get media files 2024-04-16 21:29:47 -04:00
Brandon Thomas e198b66f8a codegen db 2024-04-16 18:47:33 -04:00
Brandon Thomas c8717c6eb2 set cover images for media files 2024-04-16 18:42:48 -04:00
Brandon Thomas 1e2aeaea45 ffmpeg replace audio (WIP) 2024-04-14 23:32:53 -04:00
Brandon Thomas d07365daf1 watermark scaling 2024-04-14 20:39:18 -04:00
Brandon Thomas d07d9f77cb add storyteller watermark 2024-04-14 19:34:47 -04:00
Brandon Thomas 96229af384 add duration to media file endpoints 2024-04-14 18:38:27 -04:00
Brandon Thomas f7b47e4b15 codegen db 2024-04-14 18:24:36 -04:00
Brandon Thomas a567caad45 record audio duration and encoding in tacotron2 job 2024-04-14 13:25:25 -04:00
Brandon Thomas cb4bca73ee debug logging 2024-04-14 01:23:58 -04:00
Brandon Thomas 04c9c3cdfc fix, db codegen 2024-04-13 13:45:55 -04:00
Brandon Thomas 7b2e0cff72 fail open 2024-04-13 12:37:01 -04:00
Brandon Thomas 5c91a19599 track source 2024-04-13 11:08:26 -04:00
Brandon Thomas dacef70c32 return style name in prompt handler 2024-04-13 10:25:51 -04:00
Brandon Thomas 58c2351c7d encode style name in prompt records 2024-04-13 10:15:11 -04:00
Brandon Thomas 478f53b149 remove deprecated endpoints 2024-04-13 01:24:32 -04:00
Brandon Thomas 79be5af336 "maybe_source" column on users 2024-04-12 03:44:22 -04:00
Brandon Thomas a06a0ac8c5 cors for studio.storyteller.ai 2024-04-12 01:46:17 -04:00
Brandon Thomas 64e8136609 session header cors 2024-04-11 23:28:27 -04:00
Brandon Thomas f8d6d75cc4 cors for storytellerstudio.netlify 2024-04-11 22:51:59 -04:00
Brandon Thomas fc49e3a977 Merge pull request #316 from storytold/bt-media-files-cover-images
migration: add media file cover images
2024-04-11 00:25:42 -04:00
Brandon Thomas d5b731b369 migration: add media file cover images 2024-04-11 00:00:59 -04:00
Brandon Thomas e0fa5be40e doc/notes 2024-04-10 00:32:12 -04:00
Brandon Thomas 82cccb041f cors for SharedArrayBuffer (maybe) 2024-04-09 19:27:32 -04:00
Brandon Thomas 37c6e8f6fd fix build error 2024-04-07 23:15:14 -04:00
Brandon Thomas 47a1ea409e dynamic netlify for fakeyou 2024-04-07 22:45:52 -04:00
Brandon Thomas 0463db9e25 dynamic storyteller-ai.netlify cors 2024-04-07 22:39:18 -04:00
Brandon Thomas d73bc121c4 dynamic netlify cors 2024-04-07 22:35:25 -04:00
Brandon Thomas 64864d77e3 dynamically allow CORS for local dev 2024-04-07 22:22:55 -04:00
Brandon Thomas e608b86223 organize cors 2024-04-07 20:08:16 -04:00
Brandon Thomas fa54fc202d refactor cover image 2024-04-07 13:38:44 -04:00
Brandon Thomas 49bc5a8eb2 fix docs imports 2024-04-07 13:37:35 -04:00
Brandon Thomas d397311957 cover image details for media files 2024-04-07 13:36:02 -04:00
Brandon Thomas 53f02cd820 match number of covers in weights 2024-04-07 12:20:53 -04:00
Brandon Thomas 90be680894 refactor cover images 2024-04-07 12:11:36 -04:00
Brandon Thomas 02ae3d81e5 add meda file default covers to responses 2024-04-07 11:59:23 -04:00
Brandon Thomas 05a20d44e1 add wil's port to cors 2024-04-06 23:42:19 -04:00
Brandon Thomas 9aacc8bf44 default media file cover image (WIP) 2024-04-06 02:12:26 -04:00
Brandon Thomas 7e1043b824 remove_watermark option on endpoint 2024-04-06 00:07:47 -04:00
Brandon Thomas 67ca724bea enroll users 2024-04-05 22:49:37 -04:00
Brandon Thomas 945c25bae8 update user non-v1 routes 2024-04-05 21:53:29 -04:00
Brandon Thomas c2908e192e group endpoints 2024-04-05 21:25:47 -04:00
Brandon Thomas d3f29d8aa7 more grouping 2024-04-05 18:46:22 -04:00
Brandon Thomas e64bd55d4c organize user and weights docs 2024-04-05 18:41:54 -04:00
Brandon Thomas 95d3b7f8a5 group media file apis 2024-04-05 18:29:36 -04:00
Brandon Thomas 1e34feaefd sqlx offline 2024-04-05 18:10:10 -04:00
Brandon Thomas 25d57b5a38 completely unused, breaking netlify docs 2024-04-05 18:06:36 -04:00
Brandon Thomas 1de280e3b5 remove gitmodules (breaking netlify) 2024-04-05 18:04:16 -04:00
Brandon Thomas 89bae81541 api page 2024-04-05 17:59:54 -04:00
Brandon Thomas 90b22116c1 netlify ci script 2024-04-05 17:56:53 -04:00
Brandon Thomas 8f66efcf05 API CLI (for netlify) 2024-04-05 17:54:38 -04:00
Brandon Thomas da8a28d89d return encrypted session payload on login etc 2024-04-05 04:13:55 -04:00
Brandon Thomas 820974dd99 session header support 2024-04-05 04:05:39 -04:00
Brandon Thomas 9ff8275ee6 refactor 2024-04-05 03:19:33 -04:00
Brandon Thomas 6f9f9275a7 refactor 3 2024-04-05 03:06:00 -04:00
Brandon Thomas 5876fa3dda refactor part 2 2024-04-05 02:39:38 -04:00
Brandon Thomas a9f4796774 refactoring session checker 2024-04-05 02:33:41 -04:00
Brandon Thomas da2ab28f5f misc 2024-04-04 22:51:27 -04:00
Brandon Thomas dbe5b5af22 document tts endpoint, add /v1/ mounted version 2024-04-03 13:20:45 -04:00
Brandon Thomas a648899dbf sql stuffs 2024-04-03 12:47:47 -04:00
Brandon Thomas 70f9d3bce0 measure usage 2024-04-03 12:22:06 -04:00
Brandon Thomas da438ff79d onboarding 2024-04-02 04:06:52 -04:00
Brandon Thomas f99ea0f7cf document logout handler 2024-04-01 17:11:57 -04:00
Brandon Thomas ca90394aa8 document login handler 2024-04-01 17:08:35 -04:00
Brandon Thomas e40d918512 add gotta go fast domains 2024-04-01 16:32:28 -04:00
Brandon Thomas e326a41b47 codegen db 2024-04-01 02:21:52 -04:00
Brandon Thomas d0a1e0192a title in multipart media upload APIs 2024-04-01 02:21:02 -04:00
Brandon Thomas 527d980d16 fix react sorting / state change bug on feature flags 2024-03-30 18:02:51 -04:00
Brandon Thomas 1f26e003e1 add ishaan 2024-03-30 17:51:00 -04:00
Brandon Thomas 7e1bb811ec codegen db 2024-03-28 19:46:33 -04:00
Brandon Thomas 80e57774a2 moderator token info endpoint 2024-03-28 19:42:16 -04:00
Brandon Thomas 6c4330294b codegen db 2024-03-28 17:53:01 -04:00
Brandon Thomas a86a69a5b3 enhanced authorization checks 2024-03-28 17:46:20 -04:00
Brandon Thomas d0987434f1 creator permission checks 2024-03-28 17:34:12 -04:00
Brandon Thomas 77012cf446 onboarding accounts for pebblebed 2024-03-28 15:15:15 -04:00
Brandon Thomas 3a1945881b more verbose error logs 2024-03-28 05:47:19 -04:00
Brandon Thomas 92d5be75bc better error messages 2024-03-28 05:33:52 -04:00
Brandon Thomas 07e887b8bc handle "undefined" strings in multipart requests 2024-03-28 05:26:02 -04:00
Brandon Thomas 30c709b2ac codegen 2024-03-27 18:54:19 -04:00
Brandon Thomas f0bfa7bb18 add maybe_title to all media file get/list/batch endpoints 2024-03-26 23:03:53 -04:00
Brandon Thomas 35477fe650 codegen db 2024-03-26 04:36:21 -04:00
Brandon Thomas 66ee94946a update docs 2024-03-26 04:34:12 -04:00
Brandon Thomas d8f5655e01 endpoint for uploading json scenes 2024-03-26 04:27:36 -04:00
Brandon Thomas bce77f6827 auth check 2024-03-26 03:55:13 -04:00
Brandon Thomas 4f471cf7b7 upsert media file upload endpoint 2024-03-26 03:11:15 -04:00
Brandon Thomas 8aa64a9ae6 reuse error type 2024-03-26 02:29:27 -04:00
Brandon Thomas e298d30f8d move upload endpoints (as we're adding a lot more to go fast) 2024-03-26 02:22:31 -04:00
Brandon Thomas fe9c279da1 make routes easier to maintain by splitting them 2024-03-25 20:19:46 -04:00
Brandon Thomas 9363595fa3 no useless late bindings 2024-03-24 20:34:41 -04:00
Brandon Thomas 62597b4848 cranky lints 2024-03-24 20:20:49 -04:00
Brandon Thomas ded720332f dummy-service use 429 pushback; respond with dummy stats 2024-03-24 19:50:24 -04:00
Brandon Thomas d99795f072 fixup broken tests 2024-03-24 19:23:27 -04:00
Brandon Thomas 375cd54417 update cargo hikari 2024-03-24 19:03:39 -04:00
Brandon Thomas 4af33c237b macro derive token mysql row conversion 2024-03-24 18:58:55 -04:00
Brandon Thomas 9757befc7b move tokens' macros into module 2024-03-24 18:38:55 -04:00
Brandon Thomas 80b572e5ee share cors configs 2024-03-24 18:28:23 -04:00
Brandon Thomas 2d3df91c4a change deprecated function 2024-03-24 17:57:05 -04:00
Brandon Thomas 91b757a3cf add status check endpoint to dummy service 2024-03-24 17:50:06 -04:00
Brandon Thomas 30316adbc5 status endpoint for dummy app (for health checks) 2024-03-24 17:26:38 -04:00
Brandon Thomas f363bd0ec5 fix non-factual statement in comments 2024-03-24 17:13:16 -04:00
Brandon Thomas 3708eda3ef api doc for batch media file endpoint 2024-03-24 16:44:16 -04:00
Brandon Thomas d58725d629 analysis: jobs by ip address 2024-03-24 16:36:04 -04:00
Brandon Thomas a6c7d757a4 batch get media file tokens endpoint 2024-03-24 16:07:56 -04:00
Brandon Thomas 4a16035d24 batch get media files stub 2024-03-23 23:37:28 -04:00
Brandon Thomas 45468aa6fe change media file visibility handler 2024-03-21 17:37:51 -04:00
Brandon Thomas 8afa8b3fb9 codegen 2024-03-21 17:12:45 -04:00
Brandon Thomas 093a8cc251 rename media file endpoint 2024-03-21 16:12:59 -04:00
Brandon Thomas 0b04fad443 onboard internal "storyteller" user 2024-03-21 02:49:49 -04:00
Brandon Thomas dbdbe5e604 List scene file extensions for Bevy engine 2024-03-20 17:44:23 -04:00
Brandon Thomas d82266eaa8 onboard lee-orr 2024-03-20 16:56:01 -04:00
Brandon Thomas 31a0ff517c upgrade speculoos; it relied on unsupported crates that broke builds 2024-03-18 23:11:17 -04:00
Brandon Thomas e2ede1c358 onboarding 2024-03-18 18:29:57 -04:00
Brandon Thomas d7a9a797de cleanup unused imports 2024-03-16 18:57:58 -04:00
salt ea11d98cfa better error handling & clean up code 2024-03-15 16:58:46 -07:00
salt 5ee7bb43d4 add positive and negative prompt 2024-03-15 16:58:46 -07:00
Brandon Thomas 875a023f5e fix compile error 2024-03-15 19:29:58 -04:00
Brandon Thomas 32b1d445e0 processing cleanup 2024-03-15 19:17:40 -04:00
Brandon Thomas 0567727bb2 workflow loading + test 2024-03-15 17:04:45 -04:00
Brandon Thomas 321ecfd74a testdata for comfyui new execution model 2024-03-15 16:21:00 -04:00
salt 26cb9cfe61 fix compilation error 2024-03-15 12:33:59 -07:00
salt 89b1936fb3 mapping code 2024-03-15 11:08:19 -07:00
Brandon Thomas 1741f5644e pass skybox option to bevy renderer 2024-03-15 04:09:20 -04:00
Brandon Thomas 7d690b3584 stupid readme 2024-03-15 02:47:09 -04:00
Brandon Thomas 9869dbb3ba engine render job - process camera + speed args 2024-03-15 02:43:10 -04:00
Brandon Thomas 229b3d21f8 enqueue engine render jobs with camera movement 2024-03-15 02:11:00 -04:00
Brandon Thomas 8d8e366f49 add input media file to enqueue VST 2024-03-15 01:00:23 -04:00
Brandon Thomas 0dbb261dad document VST endpoint 2024-03-14 23:33:10 -04:00
Brandon Thomas dcad4265e6 trim millis works with old trim seconds args 2024-03-14 21:01:20 -04:00
Brandon Thomas d10deb84d2 add lipsync arg, update comfy to handle style-based prompts (WIP) 2024-03-14 20:43:06 -04:00
Brandon Thomas 3168be3504 New endpoint for enqueueing VST: /v1/video/enqueue_vst 2024-03-14 19:44:10 -04:00
Brandon Thomas 93e83f5276 StyleTransferName 2024-03-14 17:59:02 -04:00
Brandon Thomas 8d11bb53e4 codegen db 2024-03-14 07:08:19 -04:00
Brandon Thomas 083153da8f media_class in list endpoint 2024-03-14 06:55:12 -04:00
Brandon Thomas a6e6ca1ed4 set media_class on uploads 2024-03-14 06:52:52 -04:00
Brandon Thomas 3b97b5f95d media_class in user list endpoint 2024-03-14 06:28:32 -04:00
Brandon Thomas a87feab5d2 media_class in GET media file 2024-03-14 04:09:51 -04:00
Brandon Thomas ba0ad9a96f MediaFileClass enum 2024-03-14 03:59:39 -04:00
Brandon Thomas 1cb420f5a3 media_files migrations: maybe_title, media_class 2024-03-14 03:43:26 -04:00
salt eb3ec2830a move dependency downloading to python and remove ckpt downloading 2024-03-13 12:58:44 -07:00
ArEnSc 050b5e00d7 Merge pull request #315 from storytold/feature/update-comfyui-values
Comfy dep update
2024-03-12 19:33:51 -04:00
arensc 7e52fbd2a5 Comfy dep update 2024-03-12 19:29:35 -04:00
Brandon Thomas 726c97bc0a staff onboarding 2024-03-12 15:43:58 -04:00
Brandon Thomas fd59834be2 storyteller.ai cors 2024-03-11 16:24:17 -04:00
Brandon Thomas a19c380882 poll interval for status alerts 2024-03-10 03:13:13 -04:00
Brandon Thomas 350136e52c Add original filename to GET media file 2024-03-08 16:20:00 -05:00
Brandon Thomas 7405c09c0d codegen db 2024-03-08 15:17:02 -05:00
Brandon Thomas 58f39d0214 Populate media subtype for engine files 2024-03-08 15:14:57 -05:00
Brandon Thomas 2523b5451f new media file subtypes 2024-03-08 15:09:51 -05:00
Brandon Thomas 38344bb16f Add new upload/engine_asset endpoint for Bevy media files 2024-03-08 14:43:17 -05:00
Brandon Thomas f573cce0e0 Early access (investors) 2024-03-08 14:13:48 -05:00
Brandon Thomas 8a41d5a300 onboard danny, add CORS for storyteller 2024-03-08 14:09:34 -05:00
Brandon Thomas edebc04045 cors 2024-03-07 23:35:59 -05:00
Brandon Thomas 5c071a8b2b onboard more users 2024-03-07 23:35:59 -05:00
saltacc fb84e78aea Merge pull request #314 from storytold/feature/comfyui-sidecar
Feature/comfyui sidecar
2024-03-07 14:03:10 -08:00
saltacc efe26f9be4 Merge branch 'master' into feature/comfyui-sidecar 2024-03-07 14:03:03 -08:00
salt 58d9a6826d comfyui sidecar 2024-03-07 13:59:59 -08:00
Brandon Thomas 2a89943f45 Mocap job: read video file dimensions 2024-03-07 03:36:42 -05:00
Brandon Thomas 4981a739d9 Feature flags to populate status alert message/category 2024-03-07 01:05:51 -05:00
Brandon Thomas 5c0473d407 stubs for status alert endpoint 2024-03-07 00:48:45 -05:00
Brandon Thomas f40d106b59 onboard fakeyou users 2024-03-06 21:02:18 -05:00
Brandon Thomas 003500e656 new user feature flag rollouts 2024-03-06 03:57:57 -05:00
Brandon Thomas d246797e63 remove old feature flags (100% rolled out) 2024-03-06 03:15:38 -05:00
Brandon Thomas 037b2017c5 feature flag integrations 2024-03-06 03:00:47 -05:00
Brandon Thomas 8a08793ff0 feature flags as hash set instead 2024-03-06 02:46:19 -05:00
Brandon Thomas 0c6d10a5e4 add feature flags to session info 2024-03-06 02:42:34 -05:00
Brandon Thomas 979c12e5f8 codegen db 2024-03-06 02:24:47 -05:00
Brandon Thomas 1bd5ceb9e6 new permission accessors wired up 2024-03-05 14:45:35 -05:00
Brandon Thomas b6c0e7738e read new permission flags 2024-03-05 14:26:03 -05:00
Brandon Thomas 4fe1e1d106 user feature flag enum 2024-03-05 06:11:56 -08:00
Brandon Thomas c85e774948 migration for user feature flags 2024-03-05 06:11:56 -08:00
Brandon Thomas 4147c7d9a0 add to documentation 2024-03-05 06:11:56 -08:00
Brandon Thomas 0236d6251a add subtype to GET media file endpoint 2024-03-05 06:11:56 -08:00
Brandon Thomas 0b3372ea96 enum for MediaFileSubtype 2024-03-05 06:11:56 -08:00
Brandon Thomas cd6201867a media_files - maybe_media_subtype column 2024-03-05 06:11:56 -08:00
Brandon Thomas debce38376 tests 2024-03-05 06:11:56 -08:00
Brandon Thomas feb72bdbc4 refactor prompt classification 2024-03-05 06:11:56 -08:00
Brandon Thomas 3acbf33c20 rebase 2024-03-05 06:11:52 -08:00
Brandon Thomas dad6781eb0 more logging 2024-03-05 06:10:59 -08:00
Brandon Thomas f9e1bd21e1 allow deleted SD + lora in comfy 2024-03-05 06:10:59 -08:00
Brandon Thomas cb68c1cb16 more error logging 2024-03-05 06:10:59 -08:00
Brandon Thomas 1fac0e634b more error logging 2024-03-05 06:10:59 -08:00
Brandon Thomas 5e5264c65c debugging errors 2024-03-05 06:10:59 -08:00
Brandon Thomas 8f3453eb8d codegen mysql 2024-03-05 06:10:59 -08:00
Brandon Thomas 072526d82e more logging for comfyui 2024-03-05 06:10:59 -08:00
Brandon Thomas 2ef8a4c555 fix logging 2024-03-05 06:10:59 -08:00
Brandon Thomas 046eddad99 name file based on type 2024-03-05 06:10:59 -08:00
Brandon Thomas bf8c189ab5 optional env vars 2024-03-05 06:10:59 -08:00
Brandon Thomas f49efe6c39 logging for debug (why is r2d2 breaking?) 2024-03-05 06:10:59 -08:00
salt 0c1f26eec2 use new docker 2024-03-05 05:56:29 -08:00
Brandon Thomas fdd44d3ecd user feature flag enum 2024-03-05 03:43:32 -05:00
Brandon Thomas a254aa4519 migration for user feature flags 2024-03-05 03:36:58 -05:00
Brandon Thomas 97e7c4a3cd add to documentation 2024-03-04 03:52:37 -05:00
Brandon Thomas 40d88f9fdd add subtype to GET media file endpoint 2024-03-04 03:51:38 -05:00
Brandon Thomas 38df412bdc enum for MediaFileSubtype 2024-03-04 03:42:44 -05:00
Brandon Thomas da4d7bea30 media_files - maybe_media_subtype column 2024-03-04 03:32:00 -05:00
Brandon Thomas e43580d627 tests 2024-03-03 22:43:10 -05:00
Brandon Thomas 4c1b8f1d4c refactor prompt classification 2024-03-03 22:20:36 -05:00
Brandon Thomas 9fd9cf5cc9 add watermark to comfy 2024-03-01 05:25:29 -05:00
Brandon Thomas 889aebea09 more logging 2024-03-01 03:41:45 -05:00
Brandon Thomas 51666827ac allow deleted SD + lora in comfy 2024-03-01 03:32:04 -05:00
Brandon Thomas 51dfddf789 more error logging 2024-03-01 03:31:21 -05:00
Brandon Thomas 26f37629ca more error logging 2024-03-01 03:23:08 -05:00
Brandon Thomas 2972d54077 debugging errors 2024-03-01 03:14:24 -05:00
Brandon Thomas 23f7f0a539 codegen mysql 2024-03-01 02:43:37 -05:00
Brandon Thomas 422c92f392 more logging for comfyui 2024-03-01 02:42:37 -05:00
Brandon Thomas e023a27c18 fix logging 2024-02-29 23:19:55 -05:00
Brandon Thomas ea4887a41c name file based on type 2024-02-29 23:06:56 -05:00
Brandon Thomas b45a80142a optional env vars 2024-02-29 19:46:05 -05:00
Brandon Thomas e428f0ae9d logging for debug (why is r2d2 breaking?) 2024-02-29 19:34:29 -05:00
salt 44f6226088 add dino as a comfyui dependency 2024-02-28 17:53:58 -08:00
ArEnSc 5ee73d3feb Merge pull request #312 from storytold/feature/premium-timing
Editor added self by accident removing
2024-02-28 17:45:52 -05:00
arensc dcb2765b07 Editor added self by accident removing 2024-02-28 17:43:33 -05:00
ArEnSc 5e80eab10f Merge pull request #311 from storytold/feature/premium-timing
Premium V2V gating
2024-02-28 17:33:16 -05:00
arensc 66930695cd Premium V2V gating 2024-02-28 17:32:24 -05:00
salt 54f08192ed remove cropping arg from comfyui 2024-02-28 14:11:47 -08:00
Brandon Thomas 061cae7378 enroll gateway 2024-02-28 12:28:13 -05:00
Brandon Thomas af1b87c2c8 user access queries 2024-02-27 19:56:29 -05:00
salt f4800f7aaf process video for comfyui 2024-02-27 06:58:25 -08:00
Brandon Thomas e049c22fdd migrate mocapnet type 2024-02-26 20:47:30 -05:00
Brandon Thomas 45e54da9c1 add video upload handler to docs 2024-02-26 18:29:24 -05:00
Brandon Thomas f9fad82134 fix api docs 2024-02-26 18:18:08 -05:00
Brandon Thomas 5a64fced89 fix storyteller-web 2024-02-26 18:11:18 -05:00
Brandon Thomas 368a2a823e Merge pull request #310 from storytold/brandon-framerate-1
Framerate on video files
2024-02-26 18:01:05 -05:00
Brandon Thomas 207ef544ee Framerate on video files 2024-02-26 18:00:05 -05:00
ArEnSc bef677175b Merge pull request #309 from storytold/feature/comfyui-ffmeg
Comfy ui enqueue updates with trimming
2024-02-26 17:28:29 -05:00
arensc 1e64f2f01b Comfy ui enqueue updates with trimming 2024-02-26 17:24:59 -05:00
Brandon Thomas a444c84e12 enroll staff as admins query 2024-02-26 14:13:26 -05:00
Brandon Thomas 00102793dc comma-separated query param for media type selector 2024-02-26 01:02:41 -05:00
salt 9a7d369828 remove redundant check 2024-02-25 21:58:08 -08:00
salt c932b26b29 new comfyUI dependency 2024-02-25 16:32:41 -08:00
Brandon Thomas 3b13603f1f scope user media files by *multiple* types 2024-02-25 18:02:36 -05:00
salt 6b054d3b37 download lora to correct folder 2024-02-24 23:20:54 -08:00
Brandon Thomas 55db590e73 rename package 2024-02-24 02:33:10 -05:00
Brandon Thomas 2dd02272f9 tool to soft delete anonymous user images
- We'll need to go back and clean up the buckets for some of these
- Some of these are probably just for face animator and could help with
  training a better face detection model
2024-02-24 02:26:25 -05:00
Brandon Thomas 6c6debe64b additional safety features 2024-02-24 00:35:26 -05:00
Brandon Thomas 814209949e fix storyteller engine cors 2024-02-23 22:21:39 -05:00
Brandon Thomas 4fbb8ef335 fix endpoint 2024-02-23 00:16:25 -05:00
Brandon Thomas 25b512c7d8 codegen db 2024-02-22 23:54:43 -05:00
Brandon Thomas d3ae68dc14 get prompt API 2024-02-22 23:53:02 -05:00
Brandon Thomas 203ae33adb actually, we don't need that table anymore 2024-02-22 23:12:08 -05:00
Brandon Thomas d543ac3a33 forgot to commit the transaction 🤦 2024-02-22 23:10:37 -05:00
Brandon Thomas cd132b694c codegen 2024-02-22 21:37:42 -05:00
Brandon Thomas be7315b28d insert prompt records in SD inference job 2024-02-22 21:36:43 -05:00
Brandon Thomas 14fbb2e29c Queries for insert and get prompt 2024-02-22 19:37:49 -05:00
Brandon Thomas ef2f827fed add extra localhost port to cors (storyteller studio) 2024-02-22 18:29:40 -05:00
Brandon Thomas 172de887b7 squashed migrations for docs 2024-02-22 18:15:22 -05:00
Brandon Thomas 896fae0ef5 Bevy-specific "create scene" upload endpoint 2024-02-22 16:58:30 -05:00
salt 7cad80ad05 dont crash if workflow doesnt exist 2024-02-22 13:31:07 -08:00
Brandon Thomas e1fd39d003 fix lints 2024-02-22 04:57:00 -05:00
Brandon Thomas ea3df73e0f prompt token in media_files, enums, tokens 2024-02-22 04:21:26 -05:00
ArEnSc 8b3c139704 Merge pull request #307 from storytold/feature/properties-prompt
Adding properties to prompts
2024-02-22 02:35:40 -05:00
Brandon Thomas a1c01a2f3c new tables for usages and prompts 2024-02-21 22:54:07 -05:00
arensc 29a137e4fe Adding properties to prompts 2024-02-21 20:40:48 -05:00
Brandon Thomas b8270b0235 fix lints 2024-02-21 17:48:14 -05:00
Brandon Thomas 7dbae4c166 fix build error 2024-02-21 17:30:47 -05:00
Brandon Thomas 170c0afef5 analytics query 2024-02-21 17:24:06 -05:00
saltacc 4af67113b2 Merge pull request #306 from storytold/feature/upload-workflow
Feature/upload workflow
2024-02-21 14:07:22 -08:00
Brandon Thomas c6555b88d5 one or two more terms 2024-02-21 05:14:32 -05:00
Brandon Thomas ce4c9a1d42 doc 2024-02-20 23:36:04 -05:00
Brandon Thomas d85fe3fb3d CLI tool to delete users' files 2024-02-20 23:19:08 -05:00
Brandon Thomas d601164b5b rename two cli apps 2024-02-20 22:12:11 -05:00
Brandon Thomas 73b6b6585e refactor CLI tools 2024-02-20 22:10:18 -05:00
Brandon Thomas 368c216c07 rename CLI binary 2024-02-20 21:57:26 -05:00
Brandon Thomas d31eb74344 named number classifier 2024-02-20 21:46:35 -05:00
Brandon Thomas 2dab930226 additional test cases for italian 2024-02-20 21:40:08 -05:00
Brandon Thomas 9fc6e4adf6 split up tests 2024-02-20 21:28:23 -05:00
Brandon Thomas 77c22336e6 codegen db 2024-02-20 20:27:09 -05:00
Brandon Thomas 4ae7e61b7e additional safety 2024-02-20 19:26:21 -05:00
Brandon Thomas 16a3f74105 "1girl" is a false positive and used frequently in safe contexts 2024-02-20 19:09:03 -05:00
Brandon Thomas 4ad90b31df stop racism too 2024-02-20 18:56:24 -05:00
Brandon Thomas 5cc90d1001 better classifier 2024-02-20 18:49:20 -05:00
Brandon Thomas c6a5f0694f spanish + tests 2024-02-20 18:43:12 -05:00
Brandon Thomas 688efffcb8 improve classifier 2024-02-20 18:37:01 -05:00
Brandon Thomas 767191871d improved filter 2024-02-20 18:28:21 -05:00
Brandon Thomas 7d963deb38 move text classification to own crate (about to build out more) 2024-02-20 16:14:47 -05:00
1260 changed files with 32605 additions and 238309 deletions
+5
View File
@@ -3,12 +3,14 @@
<words>
<w>arpabet</w>
<w>backfill</w>
<w>blendshapes</w>
<w>canonicalized</w>
<w>canonicalizing</w>
<w>cashapp</w>
<w>cheermote</w>
<w>cidrs</w>
<w>crockford</w>
<w>csam</w>
<w>culted</w>
<w>dalle</w>
<w>demuxer</w>
@@ -18,6 +20,8 @@
<w>encodec</w>
<w>fakeyou</w>
<w>ffprobe</w>
<w>ghibli</w>
<w>gottagofast</w>
<w>greenlight</w>
<w>greenlighting</w>
<w>greenlit</w>
@@ -43,6 +47,7 @@
<w>transcodings</w>
<w>unpermitted</w>
<w>upserting</w>
<w>upserts</w>
<w>vits</w>
<w>vocoded</w>
<w>vocoder</w>
@@ -1,322 +0,0 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n m.token as `token: tokens::tokens::media_files::MediaFileToken`,\n\n m.media_type as `media_type: enums::by_table::media_files::media_file_type::MediaFileType`,\n\n users.token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n users.username as maybe_creator_username,\n users.display_name as maybe_creator_display_name,\n users.email_gravatar_hash as maybe_creator_gravatar_hash,\n\n m.maybe_batch_token as `maybe_batch_token: tokens::tokens::batch_generations::BatchGenerationToken`,\n\n m.maybe_text_transcript,\n\n m.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n model_weights.token as `maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken`,\n model_weights.title as maybe_model_weights_title,\n model_weights.weights_type as `maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n model_weights.weights_category as `maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n\n cover_image.public_bucket_directory_hash as maybe_model_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_model_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_model_cover_image_public_bucket_extension,\n\n model_weight_creator.token as `maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken`,\n model_weight_creator.username as maybe_model_weight_creator_username,\n model_weight_creator.display_name as maybe_model_weight_creator_display_name,\n model_weight_creator.email_gravatar_hash as maybe_model_weight_creator_gravatar_hash,\n\n m.public_bucket_directory_hash,\n m.maybe_public_bucket_prefix,\n m.maybe_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n m.created_at,\n m.updated_at\n\nFROM media_files AS m\nLEFT OUTER JOIN users\n ON m.maybe_creator_user_token = users.token\nLEFT OUTER JOIN model_weights\n ON m.maybe_origin_model_token = model_weights.token\nLEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = model_weights.maybe_cover_image_media_file_token\nLEFT OUTER JOIN users as model_weight_creator\n ON model_weight_creator.token = model_weights.creator_user_token\nLEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"media_file\"\n AND entity_stats.entity_token = m.token\nWHERE\n m.token = ?\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token: tokens::tokens::media_files::MediaFileToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "media_type: enums::by_table::media_files::media_file_type::MediaFileType",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 2,
"name": "maybe_creator_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 3,
"name": "maybe_creator_username",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 4,
"name": "maybe_creator_display_name",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 5,
"name": "maybe_creator_gravatar_hash",
"type_info": {
"type": "String",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 6,
"name": "maybe_batch_token: tokens::tokens::batch_generations::BatchGenerationToken",
"type_info": {
"type": "VarString",
"flags": "MULTIPLE_KEY | BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 7,
"name": "maybe_text_transcript",
"type_info": {
"type": "Blob",
"flags": "BLOB | BINARY",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 8,
"name": "creator_set_visibility: enums::common::visibility::Visibility",
"type_info": {
"type": "String",
"flags": "NOT_NULL | BINARY | ENUM",
"char_set": 224,
"max_size": 28
}
},
{
"ordinal": 9,
"name": "maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 10,
"name": "maybe_model_weights_title",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 11,
"name": "maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType",
"type_info": {
"type": "VarString",
"flags": "MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 12,
"name": "maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory",
"type_info": {
"type": "VarString",
"flags": "MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 13,
"name": "maybe_model_cover_image_public_bucket_hash",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 14,
"name": "maybe_model_cover_image_public_bucket_prefix",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 15,
"name": "maybe_model_cover_image_public_bucket_extension",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 16,
"name": "maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 17,
"name": "maybe_model_weight_creator_username",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 18,
"name": "maybe_model_weight_creator_display_name",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 19,
"name": "maybe_model_weight_creator_gravatar_hash",
"type_info": {
"type": "String",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 20,
"name": "public_bucket_directory_hash",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 21,
"name": "maybe_public_bucket_prefix",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 22,
"name": "maybe_public_bucket_extension",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 23,
"name": "maybe_ratings_positive_count",
"type_info": {
"type": "Long",
"flags": "UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 24,
"name": "maybe_ratings_negative_count",
"type_info": {
"type": "Long",
"flags": "UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 25,
"name": "maybe_bookmark_count",
"type_info": {
"type": "Long",
"flags": "UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 26,
"name": "created_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | BINARY | TIMESTAMP",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 27,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | BINARY | TIMESTAMP | ON_UPDATE_NOW",
"char_set": 63,
"max_size": 19
}
}
],
"parameters": {
"Right": 1
},
"nullable": [
false,
false,
true,
true,
true,
true,
true,
true,
false,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
false,
true,
true,
true,
true,
true,
false,
false
]
},
"hash": "00a60f2949c7e639eb5cead57615c9806d815c64ffdbe38bf06f6646fae0e065"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO prompts\nSET\n token = ?,\n prompt_type = ?,\n\n maybe_creator_user_token = ?,\n\n maybe_positive_prompt = ?,\n maybe_negative_prompt = ?,\n maybe_other_args = ?,\n\n creator_ip_address = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 7
},
"nullable": []
},
"hash": "13ca06bcbb4a576f8a2229a8554b7488d379baa381d8d5cb60972750e81b2173"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n users.token as user_token,\n users.username,\n users.display_name,\n\n users.email_address,\n users.email_confirmed,\n users.email_gravatar_hash,\n\n users.maybe_stripe_customer_id,\n users.maybe_loyalty_program_key,\n\n users.disable_gravatar,\n users.auto_play_audio_preference,\n users.auto_play_video_preference,\n users.preferred_tts_result_visibility as `preferred_tts_result_visibility: enums::common::visibility::Visibility`,\n users.preferred_w2l_result_visibility as `preferred_w2l_result_visibility: enums::common::visibility::Visibility`,\n\n users.user_role_slug,\n users.is_banned,\n\n users.can_access_studio,\n\n user_roles.can_use_tts,\n user_roles.can_use_w2l,\n user_roles.can_delete_own_tts_results,\n user_roles.can_delete_own_w2l_results,\n user_roles.can_delete_own_account,\n\n user_roles.can_upload_tts_models,\n user_roles.can_upload_w2l_templates,\n user_roles.can_delete_own_tts_models,\n user_roles.can_delete_own_w2l_templates,\n\n user_roles.can_approve_w2l_templates,\n user_roles.can_edit_other_users_profiles,\n user_roles.can_edit_other_users_tts_models,\n user_roles.can_edit_other_users_w2l_templates,\n user_roles.can_delete_other_users_tts_models,\n user_roles.can_delete_other_users_tts_results,\n user_roles.can_delete_other_users_w2l_templates,\n user_roles.can_delete_other_users_w2l_results,\n user_roles.can_ban_users,\n user_roles.can_delete_users\n\nFROM users\nLEFT OUTER JOIN user_sessions\n ON users.token = user_sessions.user_token\nLEFT OUTER JOIN user_roles\n ON users.user_role_slug = user_roles.slug\nWHERE user_sessions.token = ?\n AND user_sessions.deleted_at IS NULL\n AND users.user_deleted_at IS NULL\n AND users.mod_deleted_at IS NULL\n ",
"query": "\nSELECT\n users.token as user_token,\n users.username,\n users.display_name,\n\n users.email_address,\n users.email_confirmed,\n users.email_gravatar_hash,\n\n users.maybe_stripe_customer_id,\n users.maybe_loyalty_program_key,\n\n users.disable_gravatar,\n users.auto_play_audio_preference,\n users.auto_play_video_preference,\n users.preferred_tts_result_visibility as `preferred_tts_result_visibility: enums::common::visibility::Visibility`,\n users.preferred_w2l_result_visibility as `preferred_w2l_result_visibility: enums::common::visibility::Visibility`,\n\n users.user_role_slug,\n users.is_banned,\n\n users.can_access_studio,\n users.maybe_feature_flags,\n\n user_roles.can_use_tts,\n user_roles.can_use_w2l,\n user_roles.can_delete_own_tts_results,\n user_roles.can_delete_own_w2l_results,\n user_roles.can_delete_own_account,\n\n user_roles.can_upload_tts_models,\n user_roles.can_upload_w2l_templates,\n user_roles.can_delete_own_tts_models,\n user_roles.can_delete_own_w2l_templates,\n\n user_roles.can_approve_w2l_templates,\n user_roles.can_edit_other_users_profiles,\n user_roles.can_edit_other_users_tts_models,\n user_roles.can_edit_other_users_w2l_templates,\n user_roles.can_delete_other_users_tts_models,\n user_roles.can_delete_other_users_tts_results,\n user_roles.can_delete_other_users_w2l_templates,\n user_roles.can_delete_other_users_w2l_results,\n user_roles.can_ban_users,\n user_roles.can_delete_users\n\nFROM users\nLEFT OUTER JOIN user_sessions\n ON users.token = user_sessions.user_token\nLEFT OUTER JOIN user_roles\n ON users.user_role_slug = user_roles.slug\nWHERE user_sessions.token = ?\n AND user_sessions.deleted_at IS NULL\n AND users.user_deleted_at IS NULL\n AND users.mod_deleted_at IS NULL\n ",
"describe": {
"columns": [
{
@@ -165,6 +165,16 @@
},
{
"ordinal": 16,
"name": "maybe_feature_flags",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 17,
"name": "can_use_tts",
"type_info": {
"type": "Tiny",
@@ -174,7 +184,7 @@
}
},
{
"ordinal": 17,
"ordinal": 18,
"name": "can_use_w2l",
"type_info": {
"type": "Tiny",
@@ -184,7 +194,7 @@
}
},
{
"ordinal": 18,
"ordinal": 19,
"name": "can_delete_own_tts_results",
"type_info": {
"type": "Tiny",
@@ -194,7 +204,7 @@
}
},
{
"ordinal": 19,
"ordinal": 20,
"name": "can_delete_own_w2l_results",
"type_info": {
"type": "Tiny",
@@ -204,7 +214,7 @@
}
},
{
"ordinal": 20,
"ordinal": 21,
"name": "can_delete_own_account",
"type_info": {
"type": "Tiny",
@@ -214,7 +224,7 @@
}
},
{
"ordinal": 21,
"ordinal": 22,
"name": "can_upload_tts_models",
"type_info": {
"type": "Tiny",
@@ -224,7 +234,7 @@
}
},
{
"ordinal": 22,
"ordinal": 23,
"name": "can_upload_w2l_templates",
"type_info": {
"type": "Tiny",
@@ -234,7 +244,7 @@
}
},
{
"ordinal": 23,
"ordinal": 24,
"name": "can_delete_own_tts_models",
"type_info": {
"type": "Tiny",
@@ -244,7 +254,7 @@
}
},
{
"ordinal": 24,
"ordinal": 25,
"name": "can_delete_own_w2l_templates",
"type_info": {
"type": "Tiny",
@@ -254,7 +264,7 @@
}
},
{
"ordinal": 25,
"ordinal": 26,
"name": "can_approve_w2l_templates",
"type_info": {
"type": "Tiny",
@@ -264,7 +274,7 @@
}
},
{
"ordinal": 26,
"ordinal": 27,
"name": "can_edit_other_users_profiles",
"type_info": {
"type": "Tiny",
@@ -274,7 +284,7 @@
}
},
{
"ordinal": 27,
"ordinal": 28,
"name": "can_edit_other_users_tts_models",
"type_info": {
"type": "Tiny",
@@ -284,7 +294,7 @@
}
},
{
"ordinal": 28,
"ordinal": 29,
"name": "can_edit_other_users_w2l_templates",
"type_info": {
"type": "Tiny",
@@ -294,7 +304,7 @@
}
},
{
"ordinal": 29,
"ordinal": 30,
"name": "can_delete_other_users_tts_models",
"type_info": {
"type": "Tiny",
@@ -304,7 +314,7 @@
}
},
{
"ordinal": 30,
"ordinal": 31,
"name": "can_delete_other_users_tts_results",
"type_info": {
"type": "Tiny",
@@ -314,7 +324,7 @@
}
},
{
"ordinal": 31,
"ordinal": 32,
"name": "can_delete_other_users_w2l_templates",
"type_info": {
"type": "Tiny",
@@ -324,7 +334,7 @@
}
},
{
"ordinal": 32,
"ordinal": 33,
"name": "can_delete_other_users_w2l_results",
"type_info": {
"type": "Tiny",
@@ -334,7 +344,7 @@
}
},
{
"ordinal": 33,
"ordinal": 34,
"name": "can_ban_users",
"type_info": {
"type": "Tiny",
@@ -344,7 +354,7 @@
}
},
{
"ordinal": 34,
"ordinal": 35,
"name": "can_delete_users",
"type_info": {
"type": "Tiny",
@@ -392,8 +402,9 @@
true,
true,
true,
true,
true
]
},
"hash": "423109f2dcee23a558c43ecaab0eb2836714d5316620daaa1127b447cad59212"
"hash": "1c32bdb79ed2bc1b8988bbb6ea3f2a1db4ed4552d53cb4f31ff4b08de01691f7"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO featured_items\nSET\n entity_type = ?,\n entity_token = ?\nON DUPLICATE KEY UPDATE\n deleted_at = NULL\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 2
},
"nullable": []
},
"hash": "2d5412f06bba83b16bdea092568a2ff61713a7e5cfb3d02eb0bcc41f877c45c1"
}
@@ -1,12 +0,0 @@
{
"db_name": "MySQL",
"query": "\n INSERT INTO media_files\n SET\n token = ?,\n media_type = ?,\n\n origin_category = ?, \n origin_product_category = ?, \n maybe_origin_model_type = ?, \n maybe_origin_model_token = ?, \n maybe_origin_filename = ?,\n\n is_batch_generated = ?,\n maybe_batch_token = ?,\n\n maybe_mime_type = ?,\n file_size_bytes = ?,\n maybe_duration_millis = ?,\n maybe_audio_encoding = ?, \n maybe_video_encoding = ?, \n maybe_frame_width = ?, \n maybe_frame_height = ?, \n checksum_sha2 = ?,\n\n public_bucket_directory_hash = ?, \n maybe_public_bucket_prefix = ?, \n maybe_public_bucket_extension = ?, \n extra_file_modification_info = ?, \n\n maybe_creator_user_token = ?, \n maybe_creator_anonymous_visitor_token = ?, \n\n creator_ip_address = ?, \n creator_set_visibility = ?, \n\n maybe_creator_file_synthetic_id = ?, \n maybe_creator_category_synthetic_id = ?,\n\n maybe_mod_user_token = ?, \n is_generated_on_prem = ?, \n generated_by_worker = ?, \n generated_by_cluster = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 31
},
"nullable": []
},
"hash": "38b93187e20b51c7950bf9c5500890c15a00eec76a1bdf7501f349125ce7e4c4"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO media_files\nSET\n token = ?,\n\n media_class = ?,\n media_type = ?,\n\n origin_category = ?,\n origin_product_category = ?,\n maybe_origin_model_type = ?,\n\n maybe_mime_type = ?,\n file_size_bytes = ?,\n\n checksum_sha2 = ?,\n\n public_bucket_directory_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n\n maybe_creator_file_synthetic_id = ?,\n maybe_creator_category_synthetic_id = ?,\n\n is_generated_on_prem = ?,\n generated_by_worker = ?,\n generated_by_cluster = ?\n\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 21
},
"nullable": []
},
"hash": "3e250d495efbb2e1a39c3c952138ebdbb5353ca50176c9d349d1c61a7157a700"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nUPDATE users\nSET\n maybe_feature_flags = ?,\n version = version + 1\n\nWHERE users.token = ?\nLIMIT 1\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 2
},
"nullable": []
},
"hash": "5053982df68d2ad6baa5b933ba858732abe1df2d5713f25b01a7a5a017d591b5"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO media_files\nSET\n token = ?,\n\n media_class = ?,\n media_type = ?,\n\n origin_category = ?,\n origin_product_category = ?,\n\n maybe_origin_model_type = ?,\n maybe_origin_model_token = ?,\n\n maybe_mime_type = ?,\n file_size_bytes = ?,\n\n checksum_sha2 = ?,\n\n public_bucket_directory_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n\n maybe_creator_file_synthetic_id = ?,\n maybe_creator_category_synthetic_id = ?,\n\n is_generated_on_prem = ?,\n generated_by_worker = ?,\n generated_by_cluster = ?\n\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 22
},
"nullable": []
},
"hash": "55651c031fd93b5e6dce8adbb3c1784dcbaba7896e7634a4dec2f2866d438052"
}
@@ -1,12 +1,12 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO users (\n token,\n username,\n display_name,\n email_address,\n email_gravatar_hash,\n profile_markdown,\n profile_rendered_html,\n user_role_slug,\n password_hash,\n ip_address_creation,\n ip_address_last_login,\n ip_address_last_update\n)\nVALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )\n ",
"query": "\nINSERT INTO users (\n token,\n username,\n display_name,\n email_address,\n email_gravatar_hash,\n profile_markdown,\n profile_rendered_html,\n user_role_slug,\n password_hash,\n ip_address_creation,\n ip_address_last_login,\n ip_address_last_update,\n maybe_source\n)\nVALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 12
"Right": 13
},
"nullable": []
},
"hash": "34364f9bc851971f8291f5f9942dd23d10718ccb210a93a236d96d0591f65f35"
"hash": "58a2d6d0c5541049cc954e3ac09b3aaef894ca55e1cb7444b72f429394022f12"
}
@@ -0,0 +1,102 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n p.token as `token: tokens::tokens::prompts::PromptToken`,\n\n p.prompt_type as `prompt_type: enums::by_table::prompts::prompt_type::PromptType`,\n\n p.maybe_creator_user_token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n\n p.maybe_positive_prompt,\n p.maybe_negative_prompt,\n p.maybe_other_args,\n\n p.creator_ip_address,\n p.created_at\n\nFROM prompts as p\nWHERE\n p.token = ?\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token: tokens::tokens::prompts::PromptToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "prompt_type: enums::by_table::prompts::prompt_type::PromptType",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 2,
"name": "maybe_creator_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "MULTIPLE_KEY | BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 3,
"name": "maybe_positive_prompt",
"type_info": {
"type": "Blob",
"flags": "BLOB | BINARY",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 4,
"name": "maybe_negative_prompt",
"type_info": {
"type": "Blob",
"flags": "BLOB | BINARY",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 5,
"name": "maybe_other_args",
"type_info": {
"type": "Blob",
"flags": "BLOB | BINARY",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 6,
"name": "creator_ip_address",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 160
}
},
{
"ordinal": 7,
"name": "created_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | TIMESTAMP",
"char_set": 63,
"max_size": 19
}
}
],
"parameters": {
"Right": 1
},
"nullable": [
false,
false,
true,
true,
true,
true,
false,
false
]
},
"hash": "61744bbf83f7cf00348bcc21e868d9c506fec46da4a33ac50d63c6d9e00c0cec"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO media_files\nSET\n token = ?,\n\n media_class = ?,\n media_type = ?,\n\n origin_category = ?,\n origin_product_category = ?,\n maybe_origin_model_type = ?,\n\n maybe_mime_type = ?,\n file_size_bytes = ?,\n\n checksum_sha2 = ?,\n\n maybe_style_transfer_source_media_file_token = ?,\n maybe_scene_source_media_file_token = ?,\n\n maybe_title = ?,\n maybe_prompt_token = ?,\n\n public_bucket_directory_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n extra_file_modification_info = ?,\n\n maybe_creator_file_synthetic_id = ?,\n maybe_creator_category_synthetic_id = ?,\n\n is_generated_on_prem = ?,\n generated_by_worker = ?,\n generated_by_cluster = ?\n\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 26
},
"nullable": []
},
"hash": "677ec3ea6dab33d40f884e7cf225faded955c09a5c3b766b919544ff7ba45683"
}
@@ -0,0 +1,267 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n users.token as `user_token: tokens::tokens::users::UserToken`,\n email_address,\n username,\n display_name,\n email_gravatar_hash,\n profile_markdown,\n profile_rendered_html,\n user_role_slug,\n disable_gravatar,\n preferred_tts_result_visibility as `preferred_tts_result_visibility: enums::common::visibility::Visibility`,\n preferred_w2l_result_visibility as `preferred_w2l_result_visibility: enums::common::visibility::Visibility`,\n discord_username,\n twitch_username,\n twitter_username,\n patreon_username,\n github_username,\n cashapp_username,\n website_url,\n is_banned,\n maybe_mod_comments,\n maybe_mod_user_token,\n maybe_feature_flags,\n created_at\nFROM users\nWHERE\n users.username = ?\n AND users.user_deleted_at IS NULL\n AND users.mod_deleted_at IS NULL\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "email_address",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 2,
"name": "username",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 3,
"name": "display_name",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 4,
"name": "email_gravatar_hash",
"type_info": {
"type": "String",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 5,
"name": "profile_markdown",
"type_info": {
"type": "Blob",
"flags": "NOT_NULL | BLOB | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 6,
"name": "profile_rendered_html",
"type_info": {
"type": "Blob",
"flags": "NOT_NULL | BLOB | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 7,
"name": "user_role_slug",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 8,
"name": "disable_gravatar",
"type_info": {
"type": "Tiny",
"flags": "NOT_NULL",
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 9,
"name": "preferred_tts_result_visibility: enums::common::visibility::Visibility",
"type_info": {
"type": "String",
"flags": "NOT_NULL | BINARY | ENUM",
"char_set": 224,
"max_size": 28
}
},
{
"ordinal": 10,
"name": "preferred_w2l_result_visibility: enums::common::visibility::Visibility",
"type_info": {
"type": "String",
"flags": "NOT_NULL | BINARY | ENUM",
"char_set": 224,
"max_size": 28
}
},
{
"ordinal": 11,
"name": "discord_username",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 144
}
},
{
"ordinal": 12,
"name": "twitch_username",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 144
}
},
{
"ordinal": 13,
"name": "twitter_username",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 144
}
},
{
"ordinal": 14,
"name": "patreon_username",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 144
}
},
{
"ordinal": 15,
"name": "github_username",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 144
}
},
{
"ordinal": 16,
"name": "cashapp_username",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 144
}
},
{
"ordinal": 17,
"name": "website_url",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 18,
"name": "is_banned",
"type_info": {
"type": "Tiny",
"flags": "NOT_NULL",
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 19,
"name": "maybe_mod_comments",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 20,
"name": "maybe_mod_user_token",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 21,
"name": "maybe_feature_flags",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 22,
"name": "created_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | BINARY | TIMESTAMP",
"char_set": 63,
"max_size": 19
}
}
],
"parameters": {
"Right": 1
},
"nullable": [
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
true,
true,
true,
true,
true,
true,
true,
false,
true,
true,
true,
false
]
},
"hash": "6d61619c29f59a487a258ab2a4814197b39015c5c6bc0e54db43923c7f283475"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nUPDATE beta_keys\nSET\n maybe_redeemer_user_token = ?,\n maybe_redeemed_at = CURRENT_TIMESTAMP\nWHERE\n key_value = ?\nLIMIT 1\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 2
},
"nullable": []
},
"hash": "718dcb5b719d1fb69add3b45e7fee96ed8a151b88e0b4c879728c2267e5cec83"
}
@@ -0,0 +1,157 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n b.token as `token: tokens::tokens::beta_keys::BetaKeyToken`,\n\n b.product as `product: enums::by_table::beta_keys::beta_key_product::BetaKeyProduct`,\n b.key_value,\n\n b.maybe_referrer_user_token as `maybe_referrer_user_token: tokens::tokens::users::UserToken`,\n referrer.username as maybe_referrer_username,\n referrer.display_name as maybe_referrer_display_name,\n referrer.email_gravatar_hash as maybe_referrer_gravatar_hash,\n\n b.maybe_redeemer_user_token as `maybe_redeemer_user_token: tokens::tokens::users::UserToken`,\n redeemer.username as maybe_redeemer_username,\n redeemer.display_name as maybe_redeemer_display_name,\n redeemer.email_gravatar_hash as maybe_redeemer_gravatar_hash,\n\n b.created_at,\n b.maybe_redeemed_at\n\nFROM beta_keys AS b\n\nLEFT OUTER JOIN users AS referrer\n ON b.maybe_referrer_user_token = referrer.token\n\nLEFT OUTER JOIN users AS redeemer\n ON b.maybe_redeemer_user_token = redeemer.token\n\nWHERE\n b.key_value = ?\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token: tokens::tokens::beta_keys::BetaKeyToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "product: enums::by_table::beta_keys::beta_key_product::BetaKeyProduct",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 2,
"name": "key_value",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 3,
"name": "maybe_referrer_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "MULTIPLE_KEY | BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 4,
"name": "maybe_referrer_username",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 5,
"name": "maybe_referrer_display_name",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 6,
"name": "maybe_referrer_gravatar_hash",
"type_info": {
"type": "String",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 7,
"name": "maybe_redeemer_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "MULTIPLE_KEY | BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 8,
"name": "maybe_redeemer_username",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 9,
"name": "maybe_redeemer_display_name",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 10,
"name": "maybe_redeemer_gravatar_hash",
"type_info": {
"type": "String",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 11,
"name": "created_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | TIMESTAMP",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 12,
"name": "maybe_redeemed_at",
"type_info": {
"type": "Timestamp",
"flags": "MULTIPLE_KEY | BINARY",
"char_set": 63,
"max_size": 19
}
}
],
"parameters": {
"Right": 1
},
"nullable": [
false,
false,
false,
true,
true,
true,
true,
true,
true,
true,
true,
false,
true
]
},
"hash": "74b401958826a7e640540f248114f57a941324787d023783f84251e8dd56eeb7"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n jobs.token as `job_token: tokens::tokens::generic_inference_jobs::InferenceJobToken`,\n\n jobs.status as `status: enums::common::job_status_plus::JobStatusPlus`,\n jobs.attempt_count,\n\n jobs.maybe_creator_user_token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n jobs.maybe_creator_anonymous_visitor_token as `maybe_creator_anonymous_visitor_token: tokens::tokens::anonymous_visitor_tracking::AnonymousVisitorTrackingToken`,\n jobs.creator_ip_address,\n\n jobs.inference_category as `inference_category: enums::by_table::generic_inference_jobs::inference_category::InferenceCategory`,\n jobs.maybe_model_type,\n jobs.maybe_model_token,\n jobs.maybe_raw_inference_text,\n\n jobs.frontend_failure_category as `maybe_frontend_failure_category: enums::by_table::generic_inference_jobs::frontend_failure_category::FrontendFailureCategory`,\n\n jobs.on_success_result_entity_type as maybe_result_entity_type,\n jobs.on_success_result_entity_token as maybe_result_entity_token,\n\n model_weights.title as maybe_model_weights_title,\n tts_models.title as maybe_tts_model_title,\n voice_conversion_models.title as maybe_voice_conversion_model_title,\n\n tts_results.public_bucket_wav_audio_path as maybe_tts_public_bucket_path,\n voice_conversion_results.public_bucket_hash as maybe_voice_conversion_public_bucket_hash,\n\n media_files.public_bucket_directory_hash as maybe_media_file_public_bucket_directory_hash,\n media_files.maybe_public_bucket_prefix as maybe_media_file_public_bucket_prefix,\n media_files.maybe_public_bucket_extension as maybe_media_file_public_bucket_extension,\n\n jobs.assigned_worker as maybe_assigned_worker,\n jobs.assigned_cluster as maybe_assigned_cluster,\n\n jobs.is_keepalive_required,\n\n jobs.created_at,\n jobs.updated_at,\n\n jobs.first_started_at as maybe_first_started_at,\n jobs.successfully_completed_at as maybe_successfully_completed_at\n\nFROM generic_inference_jobs as jobs\n\nLEFT OUTER JOIN model_weights ON jobs.maybe_model_token = model_weights.token\nLEFT OUTER JOIN tts_models ON jobs.maybe_model_token = tts_models.token\nLEFT OUTER JOIN voice_conversion_models ON jobs.maybe_model_token = voice_conversion_models.token\n\nLEFT OUTER JOIN tts_results ON jobs.on_success_result_entity_token = tts_results.token\nLEFT OUTER JOIN voice_conversion_results ON jobs.on_success_result_entity_token = voice_conversion_results.token\nLEFT OUTER JOIN media_files ON jobs.on_success_result_entity_token = media_files.token\n\nWHERE jobs.token = ?\n ",
"query": "\nSELECT\n jobs.token as `job_token: tokens::tokens::generic_inference_jobs::InferenceJobToken`,\n\n jobs.status as `status: enums::common::job_status_plus::JobStatusPlus`,\n jobs.attempt_count,\n\n jobs.maybe_creator_user_token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n jobs.maybe_creator_anonymous_visitor_token as `maybe_creator_anonymous_visitor_token: tokens::tokens::anonymous_visitor_tracking::AnonymousVisitorTrackingToken`,\n jobs.creator_ip_address,\n\n jobs.inference_category as `inference_category: enums::by_table::generic_inference_jobs::inference_category::InferenceCategory`,\n jobs.maybe_model_type,\n jobs.maybe_model_token,\n jobs.maybe_raw_inference_text,\n jobs.maybe_inference_args,\n\n jobs.frontend_failure_category as `maybe_frontend_failure_category: enums::by_table::generic_inference_jobs::frontend_failure_category::FrontendFailureCategory`,\n\n jobs.on_success_result_entity_type as maybe_result_entity_type,\n jobs.on_success_result_entity_token as maybe_result_entity_token,\n\n model_weights.title as maybe_model_weights_title,\n tts_models.title as maybe_tts_model_title,\n voice_conversion_models.title as maybe_voice_conversion_model_title,\n\n tts_results.public_bucket_wav_audio_path as maybe_tts_public_bucket_path,\n voice_conversion_results.public_bucket_hash as maybe_voice_conversion_public_bucket_hash,\n\n media_files.public_bucket_directory_hash as maybe_media_file_public_bucket_directory_hash,\n media_files.maybe_public_bucket_prefix as maybe_media_file_public_bucket_prefix,\n media_files.maybe_public_bucket_extension as maybe_media_file_public_bucket_extension,\n\n jobs.assigned_worker as maybe_assigned_worker,\n jobs.assigned_cluster as maybe_assigned_cluster,\n\n jobs.is_keepalive_required,\n\n jobs.created_at,\n jobs.updated_at,\n\n jobs.first_started_at as maybe_first_started_at,\n jobs.successfully_completed_at as maybe_successfully_completed_at\n\nFROM generic_inference_jobs as jobs\n\nLEFT OUTER JOIN model_weights ON jobs.maybe_model_token = model_weights.token\nLEFT OUTER JOIN tts_models ON jobs.maybe_model_token = tts_models.token\nLEFT OUTER JOIN voice_conversion_models ON jobs.maybe_model_token = voice_conversion_models.token\n\nLEFT OUTER JOIN tts_results ON jobs.on_success_result_entity_token = tts_results.token\nLEFT OUTER JOIN voice_conversion_results ON jobs.on_success_result_entity_token = voice_conversion_results.token\nLEFT OUTER JOIN media_files ON jobs.on_success_result_entity_token = media_files.token\n\nWHERE jobs.token = ?\n ",
"describe": {
"columns": [
{
@@ -105,6 +105,16 @@
},
{
"ordinal": 10,
"name": "maybe_inference_args",
"type_info": {
"type": "Blob",
"flags": "BLOB | BINARY",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 11,
"name": "maybe_frontend_failure_category: enums::by_table::generic_inference_jobs::frontend_failure_category::FrontendFailureCategory",
"type_info": {
"type": "VarString",
@@ -114,7 +124,7 @@
}
},
{
"ordinal": 11,
"ordinal": 12,
"name": "maybe_result_entity_type",
"type_info": {
"type": "VarString",
@@ -124,7 +134,7 @@
}
},
{
"ordinal": 12,
"ordinal": 13,
"name": "maybe_result_entity_token",
"type_info": {
"type": "VarString",
@@ -134,7 +144,7 @@
}
},
{
"ordinal": 13,
"ordinal": 14,
"name": "maybe_model_weights_title",
"type_info": {
"type": "VarString",
@@ -144,7 +154,7 @@
}
},
{
"ordinal": 14,
"ordinal": 15,
"name": "maybe_tts_model_title",
"type_info": {
"type": "VarString",
@@ -154,7 +164,7 @@
}
},
{
"ordinal": 15,
"ordinal": 16,
"name": "maybe_voice_conversion_model_title",
"type_info": {
"type": "VarString",
@@ -164,7 +174,7 @@
}
},
{
"ordinal": 16,
"ordinal": 17,
"name": "maybe_tts_public_bucket_path",
"type_info": {
"type": "VarString",
@@ -174,7 +184,7 @@
}
},
{
"ordinal": 17,
"ordinal": 18,
"name": "maybe_voice_conversion_public_bucket_hash",
"type_info": {
"type": "VarString",
@@ -184,7 +194,7 @@
}
},
{
"ordinal": 18,
"ordinal": 19,
"name": "maybe_media_file_public_bucket_directory_hash",
"type_info": {
"type": "VarString",
@@ -194,7 +204,7 @@
}
},
{
"ordinal": 19,
"ordinal": 20,
"name": "maybe_media_file_public_bucket_prefix",
"type_info": {
"type": "VarString",
@@ -204,7 +214,7 @@
}
},
{
"ordinal": 20,
"ordinal": 21,
"name": "maybe_media_file_public_bucket_extension",
"type_info": {
"type": "VarString",
@@ -214,7 +224,7 @@
}
},
{
"ordinal": 21,
"ordinal": 22,
"name": "maybe_assigned_worker",
"type_info": {
"type": "VarString",
@@ -224,7 +234,7 @@
}
},
{
"ordinal": 22,
"ordinal": 23,
"name": "maybe_assigned_cluster",
"type_info": {
"type": "VarString",
@@ -234,7 +244,7 @@
}
},
{
"ordinal": 23,
"ordinal": 24,
"name": "is_keepalive_required",
"type_info": {
"type": "Tiny",
@@ -244,7 +254,7 @@
}
},
{
"ordinal": 24,
"ordinal": 25,
"name": "created_at",
"type_info": {
"type": "Timestamp",
@@ -254,7 +264,7 @@
}
},
{
"ordinal": 25,
"ordinal": 26,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
@@ -264,7 +274,7 @@
}
},
{
"ordinal": 26,
"ordinal": 27,
"name": "maybe_first_started_at",
"type_info": {
"type": "Timestamp",
@@ -274,7 +284,7 @@
}
},
{
"ordinal": 27,
"ordinal": 28,
"name": "maybe_successfully_completed_at",
"type_info": {
"type": "Timestamp",
@@ -311,6 +321,7 @@
true,
true,
true,
true,
false,
false,
false,
@@ -318,5 +329,5 @@
true
]
},
"hash": "5fcdce6dd4c2b24d9062fda7b0a080bda3f04da6933b4dba8d335f9b7aecacb3"
"hash": "7d5030b221e9b470ee7af4b73539fd2ef477e6f3c98c56422016449c6775222d"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nUPDATE featured_items\nSET\n deleted_at = CURRENT_TIMESTAMP\nWHERE\n entity_type = ?\n AND entity_token = ?\nLIMIT 1\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 2
},
"nullable": []
},
"hash": "81ab2e79e876f69253b738709692445a7563d4dd0b5bcec41e7a690f99e3fe5d"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\n INSERT INTO media_files\n SET\n token = ?,\n\n media_class = ?,\n media_type = ?,\n\n origin_category = ?, \n origin_product_category = ?, \n maybe_origin_model_type = ?, \n maybe_origin_model_token = ?, \n maybe_origin_filename = ?,\n\n is_batch_generated = ?,\n maybe_batch_token = ?,\n\n maybe_mime_type = ?,\n file_size_bytes = ?,\n maybe_duration_millis = ?,\n maybe_audio_encoding = ?, \n maybe_video_encoding = ?, \n maybe_frame_width = ?, \n maybe_frame_height = ?,\n maybe_prompt_token = ?,\n checksum_sha2 = ?,\n\n public_bucket_directory_hash = ?, \n maybe_public_bucket_prefix = ?, \n maybe_public_bucket_extension = ?, \n extra_file_modification_info = ?, \n\n maybe_creator_user_token = ?, \n maybe_creator_anonymous_visitor_token = ?, \n\n creator_ip_address = ?, \n creator_set_visibility = ?, \n\n maybe_creator_file_synthetic_id = ?, \n maybe_creator_category_synthetic_id = ?,\n\n maybe_mod_user_token = ?, \n is_generated_on_prem = ?, \n generated_by_worker = ?, \n generated_by_cluster = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 33
},
"nullable": []
},
"hash": "870ce367da8e3beb53578c6e3d44ff686ef9a23932f4d90c9083acd702127960"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO media_files\nSET\n token = ?,\n\n media_class = ?,\n media_type = ?,\n\n origin_category = ?,\n origin_product_category = ?,\n\n maybe_engine_category = ?,\n maybe_animation_type = ?,\n\n maybe_mime_type = ?,\n file_size_bytes = ?,\n\n checksum_sha2 = ?,\n\n maybe_title = ?,\n maybe_duration_millis = ?,\n\n public_bucket_directory_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n\n maybe_scene_source_media_file_token = ?,\n is_intermediate_system_file = ?,\n\n maybe_creator_file_synthetic_id = ?,\n maybe_creator_category_synthetic_id = ?,\n\n maybe_origin_model_type = NULL,\n maybe_origin_model_token = NULL\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 23
},
"nullable": []
},
"hash": "87f078eae38376e8d3bab9001908a5ac3a406ed79d8434ea452c194b56df80fe"
}
@@ -1,12 +0,0 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO media_files\nSET\n token = ?,\n\n origin_category = ?,\n origin_product_category = ?,\n\n maybe_origin_model_type = ?,\n maybe_origin_model_token = ?,\n\n maybe_text_transcript = ?,\n\n media_type = ?,\n maybe_mime_type = ?,\n file_size_bytes = ?,\n\n checksum_sha2 = ?,\n\n public_bucket_directory_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n\n maybe_creator_file_synthetic_id = ?,\n maybe_creator_category_synthetic_id = ?,\n\n is_generated_on_prem = ?,\n generated_by_worker = ?,\n generated_by_cluster = ?\n\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 22
},
"nullable": []
},
"hash": "8aad4a39b2e43743a2efc1b37c17860c15a2314145c61ab4a25e449a4cb22128"
}
@@ -1,12 +1,12 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO audit_logs\nSET\n token = ?,\n entity_type = ?,\n entity_token = ?,\n entity_action = ?,\n maybe_actor_user_token = ?,\n maybe_actor_anonymous_visitor_token = '',\n is_actor_moderator = ?,\n actor_ip_address = ?\n ",
"query": "\nINSERT INTO audit_logs\nSET\n token = ?,\n entity_type = ?,\n entity_token = ?,\n entity_action = ?,\n maybe_actor_user_token = ?,\n maybe_actor_anonymous_visitor_token = ?,\n is_actor_moderator = ?,\n actor_ip_address = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 7
"Right": 8
},
"nullable": []
},
"hash": "07063c214be251d3fb890393ee5b322e7947dfca7115a61ec75777f6a344e835"
"hash": "8ae4a46f7e8ace3974663c9c481133ba3995b8ff111bedd8d701fb2b5ec01972"
}
@@ -1,12 +0,0 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO media_files\nSET\n token = ?,\n\n origin_category = ?,\n origin_product_category = ?,\n\n maybe_origin_model_type = ?,\n maybe_origin_model_token = ?,\n\n media_type = ?,\n maybe_mime_type = ?,\n file_size_bytes = ?,\n\n checksum_sha2 = ?,\n\n public_bucket_directory_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n\n maybe_creator_file_synthetic_id = ?,\n maybe_creator_category_synthetic_id = ?,\n\n is_generated_on_prem = ?,\n generated_by_worker = ?,\n generated_by_cluster = ?\n\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 21
},
"nullable": []
},
"hash": "8d322f5373336780472edac2536004af5c11374a0d916dc9894b655da1c66b46"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n m.token as `token: tokens::tokens::media_files::MediaFileToken`,\n\n m.media_type as `media_type: enums::by_table::media_files::media_file_type::MediaFileType`,\n\n m.maybe_creator_user_token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n m.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n m.public_bucket_directory_hash,\n m.maybe_public_bucket_prefix,\n m.maybe_public_bucket_extension\n\nFROM media_files AS m\nWHERE\n m.token = ?\n ",
"query": "\nSELECT\n m.token as `token: tokens::tokens::media_files::MediaFileToken`,\n\n m.media_type as `media_type: enums::by_table::media_files::media_file_type::MediaFileType`,\n\n m.maybe_creator_user_token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n m.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n m.file_size_bytes,\n m.maybe_duration_millis,\n\n m.public_bucket_directory_hash,\n m.maybe_public_bucket_prefix,\n m.maybe_public_bucket_extension\n\nFROM media_files AS m\nWHERE\n m.token = ?\n ",
"describe": {
"columns": [
{
@@ -45,6 +45,26 @@
},
{
"ordinal": 4,
"name": "file_size_bytes",
"type_info": {
"type": "Long",
"flags": "NOT_NULL",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 5,
"name": "maybe_duration_millis",
"type_info": {
"type": "Long",
"flags": "",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 6,
"name": "public_bucket_directory_hash",
"type_info": {
"type": "VarString",
@@ -54,7 +74,7 @@
}
},
{
"ordinal": 5,
"ordinal": 7,
"name": "maybe_public_bucket_prefix",
"type_info": {
"type": "VarString",
@@ -64,7 +84,7 @@
}
},
{
"ordinal": 6,
"ordinal": 8,
"name": "maybe_public_bucket_extension",
"type_info": {
"type": "VarString",
@@ -84,8 +104,10 @@
false,
false,
true,
false,
true,
true
]
},
"hash": "8ba733c63aff16f144417eaa2004d7de479e59f62688016f0ce7b7c61ec1ec57"
"hash": "8deae5674403372e52eeaf29cb23fe92e562832530eab1e5c7684a10e35c5f36"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nUPDATE media_files\nSET\n maybe_title = NULL\nWHERE\n token = ?\nLIMIT 1\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 1
},
"nullable": []
},
"hash": "a18f61d83dd61c7e3a6f508edd42100b419bda2ce955b5ae7cd84ab1a18ce25d"
}
@@ -0,0 +1,25 @@
{
"db_name": "MySQL",
"query": "\nSELECT deleted_at IS NULL AS is_featured\nFROM featured_items\nWHERE entity_type = ?\nAND entity_token = ?\nLIMIT 1\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "is_featured",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL | BINARY",
"char_set": 63,
"max_size": 1
}
}
],
"parameters": {
"Right": 2
},
"nullable": [
false
]
},
"hash": "a55629c232a1b41c0f226ec1996fe6d11c2d43b7f652e93a375e74083d533e97"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\n UPDATE media_files\n SET\n public_bucket_directory_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n\n maybe_mime_type = ?,\n file_size_bytes = ?,\n\n creator_ip_address = ?\n WHERE token = ?\n LIMIT 1\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 7
},
"nullable": []
},
"hash": "ad311b4aa95a71b1dc37aa09c27850a0e963380c6e7780f47a9fc5a95ab70583"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO media_files\nSET\n token = ?,\n\n media_class = ?,\n media_type = ?,\n\n origin_category = ?,\n origin_product_category = ?,\n\n maybe_origin_model_type = ?,\n maybe_origin_model_token = ?,\n\n maybe_text_transcript = ?,\n\n maybe_mime_type = ?,\n file_size_bytes = ?,\n\n maybe_duration_millis = ?,\n maybe_audio_encoding = ?,\n\n checksum_sha2 = ?,\n\n public_bucket_directory_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n\n maybe_creator_file_synthetic_id = ?,\n maybe_creator_category_synthetic_id = ?,\n\n is_generated_on_prem = ?,\n generated_by_worker = ?,\n generated_by_cluster = ?\n\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 25
},
"nullable": []
},
"hash": "be45baf9ac7b8a77e0dc450847d517c9a47e2f96c22ec4606188b6d3715dd1d0"
}
@@ -0,0 +1,498 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n m.token as `token: tokens::tokens::media_files::MediaFileToken`,\n\n m.media_class as `media_class: enums::by_table::media_files::media_file_class::MediaFileClass`,\n m.media_type as `media_type: enums::by_table::media_files::media_file_type::MediaFileType`,\n\n m.maybe_engine_category as `maybe_engine_category: enums::by_table::media_files::media_file_engine_category::MediaFileEngineCategory`,\n m.maybe_animation_type as `maybe_animation_type: enums::by_table::media_files::media_file_animation_type::MediaFileAnimationType`,\n\n m.maybe_media_subtype as `maybe_media_subtype: enums::by_table::media_files::media_file_subtype::MediaFileSubtype`,\n\n users.token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n users.username as maybe_creator_username,\n users.display_name as maybe_creator_display_name,\n users.email_gravatar_hash as maybe_creator_gravatar_hash,\n\n m.maybe_creator_anonymous_visitor_token as `maybe_creator_anonymous_visitor_token: tokens::tokens::anonymous_visitor_tracking::AnonymousVisitorTrackingToken`,\n\n m.maybe_batch_token as `maybe_batch_token: tokens::tokens::batch_generations::BatchGenerationToken`,\n\n m.maybe_style_transfer_source_media_file_token as `maybe_style_transfer_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n m.maybe_scene_source_media_file_token as `maybe_scene_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n\n\n m.maybe_title,\n m.maybe_text_transcript,\n\n m.maybe_origin_filename,\n\n m.maybe_duration_millis,\n\n m.maybe_prompt_token as `maybe_prompt_token: tokens::tokens::prompts::PromptToken`,\n prompts.maybe_other_args as maybe_other_prompt_args,\n\n media_file_cover_image.public_bucket_directory_hash as maybe_file_cover_image_public_bucket_hash,\n media_file_cover_image.maybe_public_bucket_prefix as maybe_file_cover_image_public_bucket_prefix,\n media_file_cover_image.maybe_public_bucket_extension as maybe_file_cover_image_public_bucket_extension,\n\n m.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n model_weights.token as `maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken`,\n model_weights.title as maybe_model_weights_title,\n model_weights.weights_type as `maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n model_weights.weights_category as `maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n\n model_weight_cover_image.public_bucket_directory_hash as maybe_model_cover_image_public_bucket_hash,\n model_weight_cover_image.maybe_public_bucket_prefix as maybe_model_cover_image_public_bucket_prefix,\n model_weight_cover_image.maybe_public_bucket_extension as maybe_model_cover_image_public_bucket_extension,\n\n model_weight_creator.token as `maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken`,\n model_weight_creator.username as maybe_model_weight_creator_username,\n model_weight_creator.display_name as maybe_model_weight_creator_display_name,\n model_weight_creator.email_gravatar_hash as maybe_model_weight_creator_gravatar_hash,\n\n m.public_bucket_directory_hash,\n m.maybe_public_bucket_prefix,\n m.maybe_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n featured_items.entity_token IS NOT NULL AS is_featured,\n\n m.created_at,\n m.updated_at\n\nFROM media_files AS m\nLEFT OUTER JOIN users\n ON m.maybe_creator_user_token = users.token\nLEFT OUTER JOIN model_weights\n ON m.maybe_origin_model_token = model_weights.token\nLEFT OUTER JOIN media_files as media_file_cover_image\n ON media_file_cover_image.token = m.maybe_cover_image_media_file_token\nLEFT OUTER JOIN media_files as model_weight_cover_image\n ON model_weight_cover_image.token = model_weights.maybe_cover_image_media_file_token\nLEFT OUTER JOIN users as model_weight_creator\n ON model_weight_creator.token = model_weights.creator_user_token\nLEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"media_file\"\n AND entity_stats.entity_token = m.token\nLEFT OUTER JOIN prompts\n ON prompts.token = m.maybe_prompt_token\nLEFT OUTER JOIN featured_items\n ON featured_items.entity_type = 'media_file'\n AND featured_items.entity_token = m.token\n AND featured_items.deleted_at IS NULL\nWHERE\n m.token = ?\n AND m.user_deleted_at IS NULL\n AND m.mod_deleted_at IS NULL\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token: tokens::tokens::media_files::MediaFileToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "media_class: enums::by_table::media_files::media_file_class::MediaFileClass",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 2,
"name": "media_type: enums::by_table::media_files::media_file_type::MediaFileType",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 3,
"name": "maybe_engine_category: enums::by_table::media_files::media_file_engine_category::MediaFileEngineCategory",
"type_info": {
"type": "VarString",
"flags": "MULTIPLE_KEY | BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 4,
"name": "maybe_animation_type: enums::by_table::media_files::media_file_animation_type::MediaFileAnimationType",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 5,
"name": "maybe_media_subtype: enums::by_table::media_files::media_file_subtype::MediaFileSubtype",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 6,
"name": "maybe_creator_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 7,
"name": "maybe_creator_username",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 8,
"name": "maybe_creator_display_name",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 9,
"name": "maybe_creator_gravatar_hash",
"type_info": {
"type": "String",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 10,
"name": "maybe_creator_anonymous_visitor_token: tokens::tokens::anonymous_visitor_tracking::AnonymousVisitorTrackingToken",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 11,
"name": "maybe_batch_token: tokens::tokens::batch_generations::BatchGenerationToken",
"type_info": {
"type": "VarString",
"flags": "MULTIPLE_KEY | BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 12,
"name": "maybe_style_transfer_source_media_file_token: tokens::tokens::media_files::MediaFileToken",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 13,
"name": "maybe_scene_source_media_file_token: tokens::tokens::media_files::MediaFileToken",
"type_info": {
"type": "VarString",
"flags": "MULTIPLE_KEY | BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 14,
"name": "maybe_title",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 15,
"name": "maybe_text_transcript",
"type_info": {
"type": "Blob",
"flags": "BLOB | BINARY",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 16,
"name": "maybe_origin_filename",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 17,
"name": "maybe_duration_millis",
"type_info": {
"type": "Long",
"flags": "",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 18,
"name": "maybe_prompt_token: tokens::tokens::prompts::PromptToken",
"type_info": {
"type": "VarString",
"flags": "MULTIPLE_KEY | BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 19,
"name": "maybe_other_prompt_args",
"type_info": {
"type": "Blob",
"flags": "BLOB | BINARY",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 20,
"name": "maybe_file_cover_image_public_bucket_hash",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 21,
"name": "maybe_file_cover_image_public_bucket_prefix",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 22,
"name": "maybe_file_cover_image_public_bucket_extension",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 23,
"name": "creator_set_visibility: enums::common::visibility::Visibility",
"type_info": {
"type": "String",
"flags": "NOT_NULL | BINARY | ENUM",
"char_set": 224,
"max_size": 28
}
},
{
"ordinal": 24,
"name": "maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 25,
"name": "maybe_model_weights_title",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 26,
"name": "maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType",
"type_info": {
"type": "VarString",
"flags": "MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 27,
"name": "maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory",
"type_info": {
"type": "VarString",
"flags": "MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 28,
"name": "maybe_model_cover_image_public_bucket_hash",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 29,
"name": "maybe_model_cover_image_public_bucket_prefix",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 30,
"name": "maybe_model_cover_image_public_bucket_extension",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 31,
"name": "maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 32,
"name": "maybe_model_weight_creator_username",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 33,
"name": "maybe_model_weight_creator_display_name",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 34,
"name": "maybe_model_weight_creator_gravatar_hash",
"type_info": {
"type": "String",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 35,
"name": "public_bucket_directory_hash",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 36,
"name": "maybe_public_bucket_prefix",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 37,
"name": "maybe_public_bucket_extension",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 38,
"name": "maybe_ratings_positive_count",
"type_info": {
"type": "Long",
"flags": "UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 39,
"name": "maybe_ratings_negative_count",
"type_info": {
"type": "Long",
"flags": "UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 40,
"name": "maybe_bookmark_count",
"type_info": {
"type": "Long",
"flags": "UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 41,
"name": "is_featured",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL | BINARY",
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 42,
"name": "created_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | BINARY | TIMESTAMP",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 43,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | BINARY | TIMESTAMP | ON_UPDATE_NOW",
"char_set": 63,
"max_size": 19
}
}
],
"parameters": {
"Right": 1
},
"nullable": [
false,
false,
false,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
false,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
false,
true,
true,
true,
true,
true,
false,
false,
false
]
},
"hash": "beda05b1f3e3f78ca2610c491e682ea1c76fb5effccd5d710761353baf8ce161"
}
@@ -0,0 +1,498 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n m.token as `token: tokens::tokens::media_files::MediaFileToken`,\n\n m.media_class as `media_class: enums::by_table::media_files::media_file_class::MediaFileClass`,\n m.media_type as `media_type: enums::by_table::media_files::media_file_type::MediaFileType`,\n\n m.maybe_engine_category as `maybe_engine_category: enums::by_table::media_files::media_file_engine_category::MediaFileEngineCategory`,\n m.maybe_animation_type as `maybe_animation_type: enums::by_table::media_files::media_file_animation_type::MediaFileAnimationType`,\n\n m.maybe_media_subtype as `maybe_media_subtype: enums::by_table::media_files::media_file_subtype::MediaFileSubtype`,\n\n users.token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n users.username as maybe_creator_username,\n users.display_name as maybe_creator_display_name,\n users.email_gravatar_hash as maybe_creator_gravatar_hash,\n\n m.maybe_creator_anonymous_visitor_token as `maybe_creator_anonymous_visitor_token: tokens::tokens::anonymous_visitor_tracking::AnonymousVisitorTrackingToken`,\n\n m.maybe_batch_token as `maybe_batch_token: tokens::tokens::batch_generations::BatchGenerationToken`,\n\n m.maybe_style_transfer_source_media_file_token as `maybe_style_transfer_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n m.maybe_scene_source_media_file_token as `maybe_scene_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n\n m.maybe_title,\n m.maybe_text_transcript,\n\n m.maybe_origin_filename,\n\n m.maybe_duration_millis,\n\n m.maybe_prompt_token as `maybe_prompt_token: tokens::tokens::prompts::PromptToken`,\n prompts.maybe_other_args as maybe_other_prompt_args,\n\n media_file_cover_image.public_bucket_directory_hash as maybe_file_cover_image_public_bucket_hash,\n media_file_cover_image.maybe_public_bucket_prefix as maybe_file_cover_image_public_bucket_prefix,\n media_file_cover_image.maybe_public_bucket_extension as maybe_file_cover_image_public_bucket_extension,\n\n m.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n model_weights.token as `maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken`,\n model_weights.title as maybe_model_weights_title,\n model_weights.weights_type as `maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n model_weights.weights_category as `maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n\n model_weight_cover_image.public_bucket_directory_hash as maybe_model_cover_image_public_bucket_hash,\n model_weight_cover_image.maybe_public_bucket_prefix as maybe_model_cover_image_public_bucket_prefix,\n model_weight_cover_image.maybe_public_bucket_extension as maybe_model_cover_image_public_bucket_extension,\n\n model_weight_creator.token as `maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken`,\n model_weight_creator.username as maybe_model_weight_creator_username,\n model_weight_creator.display_name as maybe_model_weight_creator_display_name,\n model_weight_creator.email_gravatar_hash as maybe_model_weight_creator_gravatar_hash,\n\n m.public_bucket_directory_hash,\n m.maybe_public_bucket_prefix,\n m.maybe_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n featured_items.entity_token IS NOT NULL AS is_featured,\n\n m.created_at,\n m.updated_at\n\nFROM media_files AS m\nLEFT OUTER JOIN users\n ON m.maybe_creator_user_token = users.token\nLEFT OUTER JOIN model_weights\n ON m.maybe_origin_model_token = model_weights.token\nLEFT OUTER JOIN media_files as media_file_cover_image\n ON media_file_cover_image.token = m.maybe_cover_image_media_file_token\nLEFT OUTER JOIN media_files as model_weight_cover_image\n ON model_weight_cover_image.token = model_weights.maybe_cover_image_media_file_token\nLEFT OUTER JOIN users as model_weight_creator\n ON model_weight_creator.token = model_weights.creator_user_token\nLEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"media_file\"\n AND entity_stats.entity_token = m.token\nLEFT OUTER JOIN prompts\n ON prompts.token = m.maybe_prompt_token\nLEFT OUTER JOIN featured_items\n ON featured_items.entity_type = 'media_file'\n AND featured_items.entity_token = m.token\n AND featured_items.deleted_at IS NULL\nWHERE\n m.token = ?\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token: tokens::tokens::media_files::MediaFileToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "media_class: enums::by_table::media_files::media_file_class::MediaFileClass",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 2,
"name": "media_type: enums::by_table::media_files::media_file_type::MediaFileType",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 3,
"name": "maybe_engine_category: enums::by_table::media_files::media_file_engine_category::MediaFileEngineCategory",
"type_info": {
"type": "VarString",
"flags": "MULTIPLE_KEY | BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 4,
"name": "maybe_animation_type: enums::by_table::media_files::media_file_animation_type::MediaFileAnimationType",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 5,
"name": "maybe_media_subtype: enums::by_table::media_files::media_file_subtype::MediaFileSubtype",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 6,
"name": "maybe_creator_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 7,
"name": "maybe_creator_username",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 8,
"name": "maybe_creator_display_name",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 9,
"name": "maybe_creator_gravatar_hash",
"type_info": {
"type": "String",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 10,
"name": "maybe_creator_anonymous_visitor_token: tokens::tokens::anonymous_visitor_tracking::AnonymousVisitorTrackingToken",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 11,
"name": "maybe_batch_token: tokens::tokens::batch_generations::BatchGenerationToken",
"type_info": {
"type": "VarString",
"flags": "MULTIPLE_KEY | BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 12,
"name": "maybe_style_transfer_source_media_file_token: tokens::tokens::media_files::MediaFileToken",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 13,
"name": "maybe_scene_source_media_file_token: tokens::tokens::media_files::MediaFileToken",
"type_info": {
"type": "VarString",
"flags": "MULTIPLE_KEY | BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 14,
"name": "maybe_title",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 15,
"name": "maybe_text_transcript",
"type_info": {
"type": "Blob",
"flags": "BLOB | BINARY",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 16,
"name": "maybe_origin_filename",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 17,
"name": "maybe_duration_millis",
"type_info": {
"type": "Long",
"flags": "",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 18,
"name": "maybe_prompt_token: tokens::tokens::prompts::PromptToken",
"type_info": {
"type": "VarString",
"flags": "MULTIPLE_KEY | BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 19,
"name": "maybe_other_prompt_args",
"type_info": {
"type": "Blob",
"flags": "BLOB | BINARY",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 20,
"name": "maybe_file_cover_image_public_bucket_hash",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 21,
"name": "maybe_file_cover_image_public_bucket_prefix",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 22,
"name": "maybe_file_cover_image_public_bucket_extension",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 23,
"name": "creator_set_visibility: enums::common::visibility::Visibility",
"type_info": {
"type": "String",
"flags": "NOT_NULL | BINARY | ENUM",
"char_set": 224,
"max_size": 28
}
},
{
"ordinal": 24,
"name": "maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 25,
"name": "maybe_model_weights_title",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 26,
"name": "maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType",
"type_info": {
"type": "VarString",
"flags": "MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 27,
"name": "maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory",
"type_info": {
"type": "VarString",
"flags": "MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 28,
"name": "maybe_model_cover_image_public_bucket_hash",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 29,
"name": "maybe_model_cover_image_public_bucket_prefix",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 30,
"name": "maybe_model_cover_image_public_bucket_extension",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 31,
"name": "maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 32,
"name": "maybe_model_weight_creator_username",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 33,
"name": "maybe_model_weight_creator_display_name",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 34,
"name": "maybe_model_weight_creator_gravatar_hash",
"type_info": {
"type": "String",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 35,
"name": "public_bucket_directory_hash",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 36,
"name": "maybe_public_bucket_prefix",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 37,
"name": "maybe_public_bucket_extension",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 38,
"name": "maybe_ratings_positive_count",
"type_info": {
"type": "Long",
"flags": "UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 39,
"name": "maybe_ratings_negative_count",
"type_info": {
"type": "Long",
"flags": "UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 40,
"name": "maybe_bookmark_count",
"type_info": {
"type": "Long",
"flags": "UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 41,
"name": "is_featured",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL | BINARY",
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 42,
"name": "created_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | BINARY | TIMESTAMP",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 43,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | BINARY | TIMESTAMP | ON_UPDATE_NOW",
"char_set": 63,
"max_size": 19
}
}
],
"parameters": {
"Right": 1
},
"nullable": [
false,
false,
false,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
false,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
false,
true,
true,
true,
true,
true,
false,
false,
false
]
},
"hash": "bfbe17ad0d993033c1015881f679fc27f5f16fb3edb24e30295c8188ff63d5cd"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nUPDATE media_files\nSET\n maybe_title = ?\nWHERE\n token = ?\nLIMIT 1\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 2
},
"nullable": []
},
"hash": "c9ebacff58b53c855bb6503da115edaeaa16ec21f0a8ffbf3049f260f296aad9"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO media_files\nSET\n token = ?,\n\n media_class = ?,\n media_type = ?,\n\n origin_category = ?,\n origin_product_category = ?,\n\n maybe_engine_category = ?,\n maybe_animation_type = ?,\n\n maybe_media_subtype = ?,\n maybe_mime_type = ?,\n file_size_bytes = ?,\n\n checksum_sha2 = ?,\n\n public_bucket_directory_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n\n maybe_creator_file_synthetic_id = ?,\n maybe_creator_category_synthetic_id = ?,\n\n maybe_origin_model_type = NULL,\n maybe_origin_model_token = NULL\n\nON DUPLICATE KEY UPDATE\n\n media_class = ?,\n media_type = ?,\n\n origin_category = ?,\n origin_product_category = ?,\n\n maybe_engine_category = ?,\n maybe_animation_type = ?,\n\n maybe_media_subtype = ?,\n maybe_mime_type = ?,\n file_size_bytes = ?,\n\n checksum_sha2 = ?,\n\n public_bucket_directory_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n\n maybe_creator_file_synthetic_id = ?,\n maybe_creator_category_synthetic_id = ?,\n\n maybe_origin_model_type = NULL,\n maybe_origin_model_token = NULL\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 39
},
"nullable": []
},
"hash": "e670551074f3beeccb217e1b88d5ca5da7b2fe152466ff3ae526855ba5791e60"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n users.token as `user_token: tokens::tokens::users::UserToken`,\n username,\n display_name,\n email_gravatar_hash,\n profile_markdown,\n profile_rendered_html,\n user_role_slug,\n disable_gravatar,\n preferred_tts_result_visibility as `preferred_tts_result_visibility: enums::common::visibility::Visibility`,\n preferred_w2l_result_visibility as `preferred_w2l_result_visibility: enums::common::visibility::Visibility`,\n discord_username,\n twitch_username,\n twitter_username,\n patreon_username,\n github_username,\n cashapp_username,\n website_url,\n is_banned,\n maybe_mod_comments,\n maybe_mod_user_token,\n created_at\nFROM users\nWHERE\n users.username = ?\n AND users.user_deleted_at IS NULL\n AND users.mod_deleted_at IS NULL\n ",
"query": "\nSELECT\n users.token as `user_token: tokens::tokens::users::UserToken`,\n username,\n display_name,\n email_gravatar_hash,\n profile_markdown,\n profile_rendered_html,\n user_role_slug,\n disable_gravatar,\n preferred_tts_result_visibility as `preferred_tts_result_visibility: enums::common::visibility::Visibility`,\n preferred_w2l_result_visibility as `preferred_w2l_result_visibility: enums::common::visibility::Visibility`,\n discord_username,\n twitch_username,\n twitter_username,\n patreon_username,\n github_username,\n cashapp_username,\n website_url,\n maybe_feature_flags,\n is_banned,\n maybe_mod_comments,\n maybe_mod_user_token,\n created_at\nFROM users\nWHERE\n users.token = ?\n AND users.user_deleted_at IS NULL\n AND users.mod_deleted_at IS NULL\n ",
"describe": {
"columns": [
{
@@ -175,6 +175,16 @@
},
{
"ordinal": 17,
"name": "maybe_feature_flags",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 18,
"name": "is_banned",
"type_info": {
"type": "Tiny",
@@ -184,7 +194,7 @@
}
},
{
"ordinal": 18,
"ordinal": 19,
"name": "maybe_mod_comments",
"type_info": {
"type": "VarString",
@@ -194,7 +204,7 @@
}
},
{
"ordinal": 19,
"ordinal": 20,
"name": "maybe_mod_user_token",
"type_info": {
"type": "VarString",
@@ -204,7 +214,7 @@
}
},
{
"ordinal": 20,
"ordinal": 21,
"name": "created_at",
"type_info": {
"type": "Timestamp",
@@ -235,11 +245,12 @@
true,
true,
true,
true,
false,
true,
true,
false
]
},
"hash": "ecce5209af9975f4140e7270df40265b00e03bd577f1abfb544beb132eb7d8e5"
"hash": "eb47461f68a64712137cc99b79cae6969d0137907f4f7e4828e4051ad580ad3e"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\nUPDATE generic_inference_jobs\nSET\n status = 'cancelled_by_user',\n retry_at = NULL\nWHERE token = ?\nAND status NOT IN ('complete_success', 'complete_failure', 'dead', 'cancelled_by_system')\n ",
"query": "\nUPDATE generic_inference_jobs\nSET\n status = 'cancelled_by_user',\n retry_at = NULL\nWHERE token = ?\nAND status IN (\n 'pending',\n 'started',\n 'attempt_failed'\n )\n ",
"describe": {
"columns": [],
"parameters": {
@@ -8,5 +8,5 @@
},
"nullable": []
},
"hash": "e404b9dcdec3e8fed927cc88658a05b8a96936cdf3a881cedb9b11c24bf53278"
"hash": "ec5b637d01cbe12f662fb94bc449f4db1eb7a98cba059a78e00df89676e2f9cd"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO user_roles\nSET\n slug = ?,\n name = ?,\n\n can_use_tts = ?,\n can_use_w2l = ?,\n can_delete_own_tts_results = ?,\n can_delete_own_w2l_results = ?,\n can_delete_own_account = ?,\n\n can_upload_tts_models = ?,\n can_upload_w2l_templates = ?,\n can_delete_own_tts_models = ?,\n can_delete_own_w2l_templates = ?,\n\n can_approve_w2l_templates = ?,\n can_edit_other_users_profiles = ?,\n can_edit_other_users_tts_models = ?,\n can_edit_other_users_w2l_templates = ?,\n can_delete_other_users_tts_models = ?,\n can_delete_other_users_tts_results = ?,\n can_delete_other_users_w2l_templates = ?,\n can_delete_other_users_w2l_results = ?,\n can_ban_users = ?,\n can_delete_users = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 21
},
"nullable": []
},
"hash": "edba09b1f7602e6abee837bb98cd6d0e2e291cec6ac6486f8fb7f17f993f1137"
}
@@ -1,322 +0,0 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n m.token as `token: tokens::tokens::media_files::MediaFileToken`,\n\n m.media_type as `media_type: enums::by_table::media_files::media_file_type::MediaFileType`,\n\n users.token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n users.username as maybe_creator_username,\n users.display_name as maybe_creator_display_name,\n users.email_gravatar_hash as maybe_creator_gravatar_hash,\n\n m.maybe_batch_token as `maybe_batch_token: tokens::tokens::batch_generations::BatchGenerationToken`,\n\n m.maybe_text_transcript,\n\n m.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n model_weights.token as `maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken`,\n model_weights.title as maybe_model_weights_title,\n model_weights.weights_type as `maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n model_weights.weights_category as `maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n\n cover_image.public_bucket_directory_hash as maybe_model_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_model_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_model_cover_image_public_bucket_extension,\n\n model_weight_creator.token as `maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken`,\n model_weight_creator.username as maybe_model_weight_creator_username,\n model_weight_creator.display_name as maybe_model_weight_creator_display_name,\n model_weight_creator.email_gravatar_hash as maybe_model_weight_creator_gravatar_hash,\n\n m.public_bucket_directory_hash,\n m.maybe_public_bucket_prefix,\n m.maybe_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n m.created_at,\n m.updated_at\n\nFROM media_files AS m\nLEFT OUTER JOIN users\n ON m.maybe_creator_user_token = users.token\nLEFT OUTER JOIN model_weights\n ON m.maybe_origin_model_token = model_weights.token\nLEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = model_weights.maybe_cover_image_media_file_token\nLEFT OUTER JOIN users as model_weight_creator\n ON model_weight_creator.token = model_weights.creator_user_token\nLEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"media_file\"\n AND entity_stats.entity_token = m.token\nWHERE\n m.token = ?\n AND m.user_deleted_at IS NULL\n AND m.mod_deleted_at IS NULL\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token: tokens::tokens::media_files::MediaFileToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "media_type: enums::by_table::media_files::media_file_type::MediaFileType",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 2,
"name": "maybe_creator_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 3,
"name": "maybe_creator_username",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 4,
"name": "maybe_creator_display_name",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 5,
"name": "maybe_creator_gravatar_hash",
"type_info": {
"type": "String",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 6,
"name": "maybe_batch_token: tokens::tokens::batch_generations::BatchGenerationToken",
"type_info": {
"type": "VarString",
"flags": "MULTIPLE_KEY | BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 7,
"name": "maybe_text_transcript",
"type_info": {
"type": "Blob",
"flags": "BLOB | BINARY",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 8,
"name": "creator_set_visibility: enums::common::visibility::Visibility",
"type_info": {
"type": "String",
"flags": "NOT_NULL | BINARY | ENUM",
"char_set": 224,
"max_size": 28
}
},
{
"ordinal": 9,
"name": "maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 10,
"name": "maybe_model_weights_title",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 11,
"name": "maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType",
"type_info": {
"type": "VarString",
"flags": "MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 12,
"name": "maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory",
"type_info": {
"type": "VarString",
"flags": "MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 13,
"name": "maybe_model_cover_image_public_bucket_hash",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 14,
"name": "maybe_model_cover_image_public_bucket_prefix",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 15,
"name": "maybe_model_cover_image_public_bucket_extension",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 16,
"name": "maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 17,
"name": "maybe_model_weight_creator_username",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 18,
"name": "maybe_model_weight_creator_display_name",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 19,
"name": "maybe_model_weight_creator_gravatar_hash",
"type_info": {
"type": "String",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 20,
"name": "public_bucket_directory_hash",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 21,
"name": "maybe_public_bucket_prefix",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 22,
"name": "maybe_public_bucket_extension",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 23,
"name": "maybe_ratings_positive_count",
"type_info": {
"type": "Long",
"flags": "UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 24,
"name": "maybe_ratings_negative_count",
"type_info": {
"type": "Long",
"flags": "UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 25,
"name": "maybe_bookmark_count",
"type_info": {
"type": "Long",
"flags": "UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 26,
"name": "created_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | BINARY | TIMESTAMP",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 27,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | BINARY | TIMESTAMP | ON_UPDATE_NOW",
"char_set": 63,
"max_size": 19
}
}
],
"parameters": {
"Right": 1
},
"nullable": [
false,
false,
true,
true,
true,
true,
true,
true,
false,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
false,
true,
true,
true,
true,
true,
false,
false
]
},
"hash": "f077f7692f4d79809534506dfde0dba28f4fdaa3d0b8cc2ebad2a594188429eb"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nUPDATE generic_inference_jobs\nSET\n is_dismissed_by_user = TRUE\nWHERE token = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 1
},
"nullable": []
},
"hash": "f4f92405a8fcf742533a822db70b5f365ca5eec9b512be3dd0e6e5a6697a2d81"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\n UPDATE media_files\n SET\n maybe_cover_image_media_file_token = ?\n WHERE token = ?\n LIMIT 1\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 2
},
"nullable": []
},
"hash": "fa74312625d2c8984e9bfc9ce344d7dfef40a74898612cbf9587b9ad81982867"
}
@@ -1,12 +0,0 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO media_files\nSET\n token = ?,\n\n origin_category = ?,\n origin_product_category = ?,\n\n maybe_origin_model_type = NULL,\n maybe_origin_model_token = NULL,\n\n media_type = ?,\n maybe_mime_type = ?,\n file_size_bytes = ?,\n\n checksum_sha2 = ?,\n\n public_bucket_directory_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n\n maybe_creator_file_synthetic_id = ?,\n maybe_creator_category_synthetic_id = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 16
},
"nullable": []
},
"hash": "fed337e365f0bd36cfa543e0ce9d4076cc0bd7809b6c2cb5740151d6583a6d11"
}
Generated
+131 -102
View File
@@ -350,6 +350,22 @@ dependencies = [
"syn 2.0.49",
]
[[package]]
name = "actix_cors_configs"
version = "0.0.1"
dependencies = [
"actix-cors",
"actix-http",
"actix-rt",
"actix-web",
"errors",
"log",
"my-workspace-hack",
"reusable_types",
"speculoos",
"url",
]
[[package]]
name = "actix_derive"
version = "0.6.1"
@@ -894,6 +910,8 @@ dependencies = [
"toml 0.5.11",
"url_config",
"user_traits_component",
"utoipa",
"utoipa-swagger-ui",
]
[[package]]
@@ -1154,7 +1172,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2315f7119b7146d6a883de6acd63ddf96071b5f79d9d98d2adaa84d749f6abf1"
dependencies = [
"debug-helper",
"num-bigint 0.4.4",
"num-bigint",
"num-traits",
"once_cell",
"regex",
@@ -1727,34 +1745,6 @@ version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
[[package]]
name = "database-backup"
version = "0.0.1"
dependencies = [
"anyhow",
"container_common",
"dotenv",
"easyenv",
"log",
"my-workspace-hack",
"serde",
"serde_derive",
]
[[package]]
name = "database-cleanup"
version = "0.0.1"
dependencies = [
"anyhow",
"container_common",
"dotenv",
"easyenv",
"log",
"my-workspace-hack",
"serde",
"serde_derive",
]
[[package]]
name = "datetimes"
version = "0.0.1"
@@ -1764,6 +1754,44 @@ dependencies = [
"once_cell",
]
[[package]]
name = "db-backup"
version = "0.0.1"
dependencies = [
"anyhow",
"container_common",
"dotenv",
"easyenv",
"log",
"my-workspace-hack",
"serde",
"serde_derive",
]
[[package]]
name = "db-cleanup"
version = "0.0.1"
dependencies = [
"buckets",
"clap",
"container_common",
"dotenv",
"easyenv",
"enums",
"errors",
"itertools 0.11.0",
"log",
"my-workspace-hack",
"mysql_queries",
"serde",
"serde_derive",
"serde_json",
"sqlx",
"storyteller_root",
"tokens",
"tokio",
]
[[package]]
name = "debug-helper"
version = "0.3.13"
@@ -2092,6 +2120,7 @@ dependencies = [
"actix-service",
"actix-utils",
"actix-web",
"actix_cors_configs",
"actix_helpers",
"chrono",
"dotenv",
@@ -2961,7 +2990,6 @@ dependencies = [
name = "http_server_common"
version = "0.0.1"
dependencies = [
"actix-cors",
"actix-http",
"actix-rt",
"actix-web",
@@ -2978,7 +3006,7 @@ dependencies = [
"serde",
"serde_derive",
"serde_json",
"speculoos 0.9.0",
"speculoos",
]
[[package]]
@@ -3107,7 +3135,7 @@ dependencies = [
"exr",
"gif",
"jpeg-decoder",
"num-rational 0.4.1",
"num-rational",
"num-traits",
"png",
"qoi",
@@ -3232,6 +3260,7 @@ dependencies = [
"tokens",
"tokio",
"tts_common",
"videos",
"walkdir",
]
@@ -3925,6 +3954,20 @@ dependencies = [
"syn 1.0.109",
]
[[package]]
name = "mp4"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c9ef834d5ed55e494a2ae350220314dc4aacd1c43a9498b00e320e0ea352a5c3"
dependencies = [
"byteorder",
"bytes 1.5.0",
"num-rational",
"serde",
"serde_json",
"thiserror",
]
[[package]]
name = "my-workspace-hack"
version = "0.1.0"
@@ -3939,6 +3982,7 @@ dependencies = [
"byteorder",
"cc",
"chrono",
"clap",
"combine 4.6.6",
"crossbeam-utils 0.8.16",
"deranged",
@@ -3953,15 +3997,18 @@ dependencies = [
"futures-executor",
"futures-io",
"futures-sink",
"futures-task",
"futures-util",
"generic-array",
"getrandom 0.1.16",
"getrandom 0.2.11",
"hashbrown 0.12.3",
"hashbrown 0.14.2",
"heck",
"hmac 0.12.1",
"hyper",
"indexmap 2.2.3",
"itertools 0.10.5",
"lazy_static",
"libc",
"log",
@@ -3969,12 +4016,17 @@ dependencies = [
"miniz_oxide",
"mio 0.8.9",
"native-tls",
"num-bigint",
"num-integer",
"num-iter",
"num-rational",
"num-traits",
"once_cell",
"openssl",
"openssl-sys",
"proc-macro2",
"pulldown-cmark",
"quote",
"rand 0.8.5",
"rand_core 0.6.4",
"regex",
@@ -4121,46 +4173,20 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be"
[[package]]
name = "num"
version = "0.1.42"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4703ad64153382334aa8db57c637364c322d3372e097840c72000dabdcf6156e"
dependencies = [
"num-bigint 0.1.44",
"num-complex 0.1.43",
"num-integer",
"num-iter",
"num-rational 0.1.42",
"num-traits",
]
[[package]]
name = "num"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af"
dependencies = [
"num-bigint 0.4.4",
"num-complex 0.4.5",
"num-bigint",
"num-complex",
"num-integer",
"num-iter",
"num-rational 0.4.1",
"num-rational",
"num-traits",
]
[[package]]
name = "num-bigint"
version = "0.1.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e63899ad0da84ce718c14936262a41cee2c79c981fc0a0e7c7beb47d5a07e8c1"
dependencies = [
"num-integer",
"num-traits",
"rand 0.4.6",
"rustc-serialize",
]
[[package]]
name = "num-bigint"
version = "0.4.4"
@@ -4189,16 +4215,6 @@ dependencies = [
"zeroize",
]
[[package]]
name = "num-complex"
version = "0.1.43"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b288631d7878aaf59442cffd36910ea604ecd7745c36054328595114001c9656"
dependencies = [
"num-traits",
"rustc-serialize",
]
[[package]]
name = "num-complex"
version = "0.4.5"
@@ -4229,18 +4245,6 @@ dependencies = [
"num-traits",
]
[[package]]
name = "num-rational"
version = "0.1.42"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee314c74bd753fc86b4780aa9475da469155f3848473a261d2d18e35245a784e"
dependencies = [
"num-bigint 0.1.44",
"num-integer",
"num-traits",
"rustc-serialize",
]
[[package]]
name = "num-rational"
version = "0.4.1"
@@ -4248,9 +4252,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
dependencies = [
"autocfg",
"num-bigint 0.4.4",
"num-bigint",
"num-integer",
"num-traits",
"serde",
]
[[package]]
@@ -4759,6 +4764,14 @@ dependencies = [
"termtree",
]
[[package]]
name = "primitives"
version = "0.0.1"
dependencies = [
"errors",
"my-workspace-hack",
]
[[package]]
name = "proc-macro-error"
version = "1.0.4"
@@ -4792,6 +4805,17 @@ dependencies = [
"unicode-ident",
]
[[package]]
name = "prompt_engineering"
version = "0.1.0"
dependencies = [
"errors",
"my-workspace-hack",
"once_cell",
"regex",
"speculoos",
]
[[package]]
name = "prost"
version = "0.11.9"
@@ -5375,12 +5399,6 @@ version = "0.1.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
[[package]]
name = "rustc-serialize"
version = "0.3.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda"
[[package]]
name = "rustc_version"
version = "0.2.3"
@@ -5530,7 +5548,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
[[package]]
name = "scrape_test"
name = "scrape-test"
version = "0.0.1"
dependencies = [
"clap",
@@ -6024,22 +6042,13 @@ dependencies = [
"windows-sys 0.48.0",
]
[[package]]
name = "speculoos"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0bcff6a72e2ddfb09ce0064568857e70d3cf6f4342244ebb1f84fa6f89b16c26"
dependencies = [
"num 0.1.42",
]
[[package]]
name = "speculoos"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "65881c9270d6157f30a09233305da51bed97eef9192d0ea21e57b1c8f05c3620"
dependencies = [
"num 0.4.1",
"num",
]
[[package]]
@@ -6329,6 +6338,7 @@ dependencies = [
"actix-utils",
"actix-web",
"actix-web-lab",
"actix_cors_configs",
"actix_helpers",
"anyhow",
"async-stripe",
@@ -6345,6 +6355,7 @@ dependencies = [
"config",
"container_common",
"cookies",
"crockford",
"data-encoding",
"datetimes",
"derive_more",
@@ -6387,6 +6398,8 @@ dependencies = [
"native-tls",
"once_cell",
"pin-project-lite",
"primitives",
"prompt_engineering",
"pulldown-cmark",
"r2d2_redis",
"rand 0.8.5",
@@ -6402,7 +6415,7 @@ dependencies = [
"serde_json",
"server_environment",
"sha2 0.9.9",
"speculoos 0.11.0",
"speculoos",
"sqlx",
"strum",
"symphonia",
@@ -6420,6 +6433,7 @@ dependencies = [
"utoipa",
"utoipa-swagger-ui",
"uuid 0.8.2",
"videos",
]
[[package]]
@@ -6824,6 +6838,7 @@ version = "0.1.0"
dependencies = [
"easyenv",
"log",
"my-workspace-hack",
"reqwest",
"serde_json",
]
@@ -6917,6 +6932,7 @@ dependencies = [
"serde_json",
"sqlx",
"sqlx-core",
"sqlx-mysql",
"strum",
"toml 0.5.11",
"utoipa",
@@ -7612,6 +7628,7 @@ name = "users_component"
version = "0.0.1"
dependencies = [
"actix-web",
"actix_helpers",
"anyhow",
"base64 0.21.5",
"byteorder",
@@ -7750,6 +7767,17 @@ version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
[[package]]
name = "videos"
version = "0.0.1"
dependencies = [
"errors",
"log",
"mp4",
"my-workspace-hack",
"testing",
]
[[package]]
name = "void"
version = "1.0.2"
@@ -8006,6 +8034,7 @@ dependencies = [
"actix-utils",
"actix-web",
"actix-web-actors",
"actix_cors_configs",
"anyhow",
"base64 0.21.5",
"chrono",
+18 -13
View File
@@ -11,30 +11,32 @@ members = [
"crates/_types/tokens",
# CLI tools for operations, etc.
"crates/cli/database-backup",
"crates/cli/database-cleanup",
"crates/cli/dev-database-seed",
"crates/cli/dev-upload-media-file",
"crates/cli/elasticsearch-cli",
"crates/cli/kubectl-pod-cleanup",
"crates/cli/lru-delete-models",
"crates/cli/migration-tool",
"crates/cli/scrape_test",
"crates/cli/devenv/dev-database-seed",
"crates/cli/devenv/dev-upload-media-file",
"crates/cli/devenv/scrape-test",
"crates/cli/production/db-backup",
"crates/cli/production/db-cleanup",
"crates/cli/production/elasticsearch-cli",
"crates/cli/production/kubectl-pod-cleanup",
"crates/cli/production/lru-delete-models",
"crates/cli/production/migration-tool",
# Shared libraries
"crates/lib/actix_cors_configs",
"crates/lib/actix_helpers",
"crates/lib/api_clients/cloud_storage",
"crates/lib/api_clients/google_drive_common",
"crates/lib/api_clients/twitch_common",
"crates/lib/api_clients/thumbnail_generator",
"crates/lib/api_clients/twitch_common",
"crates/lib/bootstrap",
"crates/lib/caching/memory_caching",
"crates/lib/caching/redis_caching",
"crates/lib/collections",
"crates/lib/concurrency",
"crates/lib/cookies",
"crates/lib/crockford",
"crates/lib/datetimes",
"crates/lib/data/collections",
"crates/lib/data/crockford",
"crates/lib/data/datetimes",
"crates/lib/data/primitives",
"crates/lib/deprecated/config", # TODO(bt, 2023-02-13): Deprecate or repurpose
"crates/lib/deprecated/container_common", # TODO(bt, 2023-02-13): Pull apart and rehome pieces
"crates/lib/deprecated/http_server_common", # TODO(bt, 2023-03-20): Move useful pieces to actix_helpers
@@ -48,12 +50,14 @@ members = [
"crates/lib/files/images",
"crates/lib/files/media",
"crates/lib/files/mimetypes",
"crates/lib/files/videos",
"crates/lib/idempotency",
"crates/lib/jobs_common",
"crates/lib/logging",
"crates/lib/migration",
"crates/lib/mysql_queries",
"crates/lib/password",
"crates/lib/prompt_engineering",
"crates/lib/redis_common",
"crates/lib/server_environment",
"crates/lib/sqlx_mysql_helpers",
@@ -97,5 +101,6 @@ members = [
#"crates/vendor/newrelic-telemetry-sdk-rust",
# cargo-hakari workspace hack (compilation speedup hack)
# see usage: https://crates.io/crates/cargo-hakari
"crates/my-workspace-hack",
]
+4 -2
View File
@@ -30,6 +30,7 @@ deny = [
#"clippy::vec_init_then_push",
# Clippy - "ergonomic" / "usage" lints
"clippy::clone_on_copy", # Don't use clone() on Copy types
"clippy::option_option", # Lint: Don't ever Option<Option<T>>! Enums instead.
"clippy::zero_sized_map_values", # Lint: use a HashSet instead of HashMap<T, ()>.
@@ -38,20 +39,21 @@ deny = [
"clippy::double_comparisons", # Lint: readability
"clippy::empty_structs_with_brackets", # Lint: {} feels less aesthetic than ;
"clippy::implicit_clone", # Lint: Recommendation here seems more idiomatic.
"clippy::needless_late_init", # Don't declare variables without initializing them
"clippy::needless_return", # Lint: not the worst offender, but let's try to keep unnecessary returns out.
"clippy::redundant_field_names", # Lint: Duplicate names is a burden when reading: you wonder why they're dupes.
"clippy::redundant_static_lifetimes", # Lint: feels more modern to elide static lifetimes
# Rust
"non_fmt_panics", # panic!(format!(...)) will be unsupported soon
"unused_imports", # These are easy to automatically cull
"unused_mut", # Be strict about mutability
"unused_parens", # Unused parens are ugly
"unused_variables", # Don't leave cruft
"unused_mut", # Be strict about mutability
# Possible:
# "clippy::ptr_arg",
# "clippy::too_many_lines" (note: this is configurable)
# "clippy::clone_on_copy", # Don't use clone() on Copy types
]
warn = [
+3 -3
View File
@@ -38,9 +38,9 @@ Our Rust monorepo, which serves both our API surface area and our downloadable c
/ ,' | |,' \-.._,.'/'
. / . . \ .''
.`. | `. / :_,'.'
\ `...\ _ ,'-. .' /_.-' S T O R Y T E L L E R
`-.__ `, `' . _.>----''. _ __ / Turning memes into dreams
.' /"' | "' '_ One Rust Monorepo at a time
\ `...\ _ ,'-. .' /_.-' S T O R Y T E L L E R
`-.__ `, `' . _.>----''. _ __ / Turning memes into dreams
.' /"' | "' '_
/_|.-'\ ,". '.'`__'-( \
/ ,"'"\,' `/ `-.|"
```
@@ -0,0 +1,12 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- Set all featured media items public
-- NB: using join since subquery was doing a full table scan despite looking reasonable.
UPDATE media_files m INNER JOIN featured_items items
ON items.entity_token = m.token
AND items.entity_type = 'media_file'
SET m.creator_set_visibility = 'public'
WHERE m.creator_set_visibility IN ('private', 'hidden')
AND items.deleted_at IS NULL;
@@ -0,0 +1,20 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- Set all user videos public
-- NB: using join since subquery was doing a full table scan despite looking reasonable.
UPDATE media_files m INNER JOIN users
ON m.maybe_creator_user_token = users.token
AND m.media_class = 'video'
SET m.creator_set_visibility = 'public'
WHERE m.creator_set_visibility IN ('private', 'hidden')
AND users.username IN (
'devdude123',
'dreambig',
'gateway',
'heart_ribbon',
'postproduction',
'tellstories',
'yae_ph'
)
@@ -1,28 +0,0 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- Staff
-- teddanson is victor's alt
-- SELECT token, username FROM users WHERE username IN (
UPDATE users SET can_access_studio = true WHERE username IN (
'bflat',
'brandon',
'crossproduct',
'crossproduct1',
'echelon',
'fyscott',
'olivicmic',
'saltacc',
'teddanson',
'vegito1089',
'wilwong',
'yae_ph',
'zzz_last_item'
);
UPDATE users SET can_access_studio = true WHERE username IN (
'endtimes',
'tropicalfun',
'zzz_last_item'
);
@@ -0,0 +1,28 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- Staff
-- * coliphant - chris
-- * printrman - miles
-- * teddanson - victor's alt
-- SELECT token, username FROM users WHERE username IN (
UPDATE users SET user_role_slug = "admin" WHERE username IN (
'bflat',
'brandon',
'coliphant',
'crossproduct',
'crossproduct1',
'echelon',
'fyscott',
'mrvintage',
'olivicmic',
'printrman',
'saltacc',
'teddanson',
'vegito1089',
'wilwong',
'yae_ph',
'zzz_last_item'
);
@@ -33,3 +33,36 @@ where token IN (
);
-- Staff
-- NB: 'echelon' is absent
-- * devdude123 is Joel
-- * el_cid_93 is for testing
-- * endtimes is @sugarbro (testing)
-- * teddanson is victor's alt
UPDATE users SET maybe_loyalty_program_key = 'fakeyou_contributor' WHERE username IN (
'bflat',
'brandon',
'crossproduct',
'crossproduct1',
'devdude123',
'el_cid_93',
'endtimes',
'fyscott',
'gateway',
'jags111',
'mrvintage',
'olivicmic',
'rewin123',
'saltacc',
'teddanson',
'vegito1089',
'wilwong',
'yae_ph',
'zzz_last_item'
);
UPDATE users SET maybe_loyalty_program_key = 'fakeyou_contributor' WHERE username IN (
'endtimes',
'tropicalfun',
'zzz_last_item'
);
@@ -0,0 +1,130 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- Staff (1)
-- * teddanson - victor's alt
UPDATE users
SET
can_access_studio = false,
maybe_feature_flags = 'explore_media,studio,video_style_transfer'
WHERE username IN (
'bflat',
'brandon',
'crossproduct',
'crossproduct1',
'echelon',
'kasisnu',
'olivicmic',
'saltacc',
'teddanson',
'vegito1089',
'wilwong',
'zzz_last_item'
);
-- Staff (2)
-- * devdude123 - Joel
-- * el_cid_93 - for testing (who is this??)
-- * endtimes - @sugarbro (testing)
-- * printrman - miles
-- * tammieteller - Tammie (Pebblebed)
UPDATE users
SET
can_access_studio = false,
maybe_feature_flags = 'studio,video_style_transfer'
WHERE username IN (
'candyfoxxx',
'dannymcgee',
'devdude123',
'el_cid_93',
'endtimes',
'fyscott',
'gateway',
'heart_ribbon',
'jags111',
'justinjohn0306',
'lorbach',
'mrvintage',
'printrman',
'rewin123',
'storyteller',
'tropicalfun',
'yae_ph',
'zzz_last_item'
);
-- Early access (investors)
-- dreambig : hanashi
-- fanfiction : hanashi
-- fantasyworlds : hanashi
-- hollywoodstar : hanashi
-- postproduction : hanashi
-- show_dont_tell : hanashi
-- tellstories : hanashi
-- thedirector : hanashi
UPDATE users
SET
can_access_studio = false,
maybe_feature_flags = 'studio,video_style_transfer'
WHERE username IN (
'claraqueiros',
'dreambig',
'fanfiction',
'fantasyworlds',
'hollywoodstar',
'postproduction',
'show_dont_tell',
'tellstories',
'thedirector',
'tammieteller',
'vagata',
'zzz_last_item'
);
-- Early access (film)
-- Chechisauri0: Messaged Brandon on Discord; uses Premiere and Blender
-- dakrid: David, Brandon's filmmaker friend
-- omega7321: vegito / ishaan
-- thenadamgoes: Adam (/r/aivideo)
-- twirble: (/r/aivideo)
UPDATE users
SET
can_access_studio = false,
maybe_feature_flags = 'studio,video_style_transfer'
WHERE username IN (
'chechisauri0',
'dakrid',
'omega7321',
'thenadamgoes',
'twirble',
'zzz_last_item'
);
-- Early access (other)
UPDATE users
SET
can_access_studio = false,
maybe_feature_flags = 'studio,video_style_transfer'
WHERE username IN (
'zzz_last_item'
);
-- Early access to VST only
UPDATE users
SET
can_access_studio = false,
maybe_feature_flags = 'video_style_transfer'
WHERE username IN (
'fuxta',
'kenjoplays',
'ofccccccc',
'sonicgt2',
'stewiegroffin',
'tanooki426',
'wawoul',
'waynut',
'zzz_last_item'
);
@@ -0,0 +1,89 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- NB: no date columns have an index :(
-- last id 30811607
-- id 29011606 2024-04-16 23:49:42
-- 28711606
select count(*)
from generic_inference_jobs
where id > 28711606
--where created_at > (CURDATE() - INTERVAL 1 MINUTE)
select avg(success_execution_millis), inference_category
from generic_inference_jobs
where id > 28711606
and maybe_creator_user_token IS NULL
and status = 'complete_success'
group by inference_category
select avg(success_execution_millis), inference_category, count(*)
from generic_inference_jobs
where id > 28711606
and maybe_creator_user_token IS NULL
and status = 'complete_success'
group by inference_category
-- TODO: generations per user
select inference_category, count(*)
from (
select maybe_creator_anonymous_visitor_token, inference_category, count(*)
from generic_inference_jobs
where id > 28711606
and maybe_creator_user_token IS NULL
group by inference_category, maybe_creator_anonymous_visitor_token
) as sub
group by sub.inference_category
select avg(success_execution_millis), inference_category, count(*), subscription_product_slug
from generic_inference_jobs
join users
on users.token = generic_inference_jobs.maybe_creator_user_token
left outer join user_subscriptions
on user_subscriptions.user_token = users.token
where generic_inference_jobs.id > 28711606
and status = 'complete_success'
group by inference_category, user_subscriptions.subscription_product_slug
-- Number of unique users for each
-- Tammie ask: "# users who generated anything by payment tier, not generation type"
-- Number of generations by payment tier
select subscription_product_slug, count(*)
from generic_inference_jobs
left outer join users
on users.token = generic_inference_jobs.maybe_creator_user_token
left outer join user_subscriptions
on user_subscriptions.user_token = users.token
where generic_inference_jobs.created_at > (CURDATE() - INTERVAL 14 DAY)
and status = 'complete_success'
group by subscription_product_slug
-- and generic_inference_jobs.id > 28711606
-- Count of unique paying and non-paying users ("null") that have used
-- at least one product at least once in the last 14 days
SELECT subscription_product_slug, count(*)
FROM
(
select
distinct maybe_creator_user_token as user_token
from generic_inference_jobs
where maybe_creator_user_token IS NOT NULL
and generic_inference_jobs.created_at > (CURDATE() - INTERVAL 14 DAY)
) as u
LEFT OUTER JOIN user_subscriptions
on user_subscriptions.user_token = u.user_token
group by subscription_product_slug;
-- Unique anonymous users who have used at least one product in the last 14 days
select count(distinct maybe_creator_anonymous_visitor_token) as anonymous_users
from generic_inference_jobs
where maybe_creator_user_token IS NULL
and generic_inference_jobs.created_at > (CURDATE() - INTERVAL 14 DAY);
@@ -2,14 +2,6 @@
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- See how many jobs of each time were created in the last period
select
distinct maybe_model_type as model_type,
count(*) as created
from generic_inference_jobs
where created_at > (CURDATE() - INTERVAL 60 MINUTE)
group by maybe_model_type;
-- See how long recent jobs are taking
select
id,
@@ -0,0 +1,128 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- Test table for write contention
-- NB: Nevermind, there's no index on `created_at`
-- select count(*) from generic_inference_jobs where created_at > now() - interval 1 minute;
-- Bin histogram by (creator user, IP address) (including logged out)
-- NB: no index on ip, hence subquery
SELECT
maybe_creator_user_token,
users.username as maybe_creator_username,
creator_ip_address,
count(*) as attempts
FROM (
SELECT
maybe_creator_user_token,
creator_ip_address
FROM (
SELECT maybe_creator_user_token,
creator_ip_address,
created_at
FROM generic_inference_jobs
ORDER BY id DESC
LIMIT 10000
) as j
WHERE j.created_at > NOW() - INTERVAL 30 MINUTE
) as jobs
LEFT OUTER JOIN users
ON users.token = jobs.maybe_creator_user_token
group by maybe_creator_user_token, maybe_creator_username, creator_ip_address
order by attempts desc;
-- Bin histogram by creator user (including logged out)
-- NB: no index on ip, hence subquery
SELECT
users.username as maybe_creator_username,
maybe_creator_user_token,
count(*) as attempts
FROM (
SELECT
maybe_creator_user_token,
creator_ip_address
FROM (
SELECT maybe_creator_user_token,
creator_ip_address,
created_at
FROM generic_inference_jobs
ORDER BY id DESC
LIMIT 10000
) as j
WHERE j.created_at > NOW() - INTERVAL 30 MINUTE
) as jobs
LEFT OUTER JOIN users
ON users.token = jobs.maybe_creator_user_token
group by maybe_creator_user_token, maybe_creator_username
order by attempts desc;
-- Bin histogram by IP (logged in and non-logged in)
-- NB: no index on ip, hence subquery
SELECT
creator_ip_address,
count(*) as attempts
FROM (
SELECT
maybe_creator_user_token,
creator_ip_address
FROM (
SELECT maybe_creator_user_token,
creator_ip_address,
created_at
FROM generic_inference_jobs
ORDER BY id DESC
LIMIT 10000
) as j
WHERE j.created_at > NOW() - INTERVAL 30 MINUTE
) as jobs
group by creator_ip_address
order by attempts desc;
-- Bin histogram by non-logged in IP
-- NB: no index on ip, hence subquery
SELECT
creator_ip_address,
count(*) as attempts
FROM (
SELECT
maybe_creator_user_token,
creator_ip_address
FROM (
SELECT maybe_creator_user_token,
creator_ip_address,
created_at
FROM generic_inference_jobs
ORDER BY id DESC
LIMIT 10000
) as j
WHERE j.created_at > NOW() - INTERVAL 30 MINUTE
AND j.maybe_creator_user_token IS NULL
) as jobs
group by creator_ip_address
order by attempts desc;
-- Exact IP
-- NB: no index on ip, hence subquery
SELECT
creator_ip_address,
count(*) as attempts
FROM (
SELECT
maybe_creator_user_token,
creator_ip_address
FROM (
SELECT maybe_creator_user_token,
creator_ip_address,
created_at
FROM generic_inference_jobs
ORDER BY id DESC
LIMIT 10000
) as j
WHERE j.created_at > NOW() - INTERVAL 30 MINUTE
AND creator_ip_address = '34.199.224.8'
) as jobs
group by creator_ip_address
order by attempts desc;
@@ -0,0 +1,40 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- Histogram by type
-- NB: no index on ip, hence subquery
select
job_type,
inference_category,
maybe_model_type,
count(*)
FROM (
SELECT
job_type,
inference_category,
maybe_model_type
FROM generic_inference_jobs
ORDER BY id DESC
LIMIT 50000
) as j
group by job_type, inference_category, maybe_model_type;
-- Histogram by type (still processing)
-- NB: no index on ip, hence subquery
select
job_type,
inference_category,
maybe_model_type,
count(*)
FROM (
SELECT
job_type,
inference_category,
maybe_model_type
FROM generic_inference_jobs
WHERE status IN ('pending', 'started', 'attempt_failed')
ORDER BY id DESC
LIMIT 50000
) as j
group by job_type, inference_category, maybe_model_type;
@@ -0,0 +1,22 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- This finds the top users of image generation within a given time range.
select
u.username,
u.email_address,
count(*) as use_count
from users as u
join
(
select maybe_creator_user_token as user_token
from generic_inference_jobs
where job_type = 'stable_diffusion'
AND created_at > NOW() - INTERVAL 24 HOUR
) as jobs
ON jobs.user_token = u.token
group by u.username, u.email_address
order by use_count desc
@@ -0,0 +1,5 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
DROP TABLE prompts;
@@ -0,0 +1,56 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- Table to store prompts as a first class entity.
-- Duplication of the same prompt is totally fine.
CREATE TABLE prompts (
-- Not used for anything except replication.
id BIGINT(20) NOT NULL AUTO_INCREMENT,
-- ========== PRIMARY, FOREIGN KEYS, and POLYMORPHISM ==========
-- Effective "primary key" of the prompt
token VARCHAR(32) NOT NULL,
-- Original product to which the prompt applied.
-- Prompts may or may not be compatible across products.
-- Possible values:
-- * 'stable_diffusion'
-- * 'comfy_ui'
prompt_type VARCHAR(16) NOT NULL,
-- Whomever created the prompt
maybe_creator_user_token VARCHAR(32) DEFAULT NULL,
-- ========== PROMPT DETAILS ==========
-- The positive prompt (optional)
-- TEXT = 65,535 bytes (64 KiB), ~= 4 bytes per UTF-8 character, ~ 16383 characters.
maybe_positive_prompt TEXT DEFAULT NULL,
-- The negative prompt (optional)
-- TEXT = 65,535 bytes (64 KiB), ~= 4 bytes per UTF-8 character, ~ 16383 characters.
maybe_negative_prompt TEXT DEFAULT NULL,
-- Polymorphic arguments payload that depends on the type of inference job.
-- TEXT = 65,535 bytes (64 KiB), ~= 4 bytes per UTF-8 character, ~ 16383 characters.
maybe_other_args TEXT DEFAULT NULL,
-- ========== ABUSE TRACKING ==========
-- For abuse tracking.
-- Wide enough for IPv4/6
creator_ip_address VARCHAR(40) NOT NULL,
-- ========== TIMESTAMPS ==========
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
-- INDICES --
PRIMARY KEY (id),
UNIQUE KEY (token),
KEY index_maybe_creator_user_token (maybe_creator_user_token),
KEY index_created_at (created_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
@@ -0,0 +1,5 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
drop table usages;
@@ -0,0 +1,46 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- Usages of models and assets to create things
-- This should work for inference as well as 3D object/scene creation,
-- so the inputs can be models OR files.
CREATE TABLE usages (
-- Not used for anything except replication.
id BIGINT(20) NOT NULL AUTO_INCREMENT,
-- ========== PRIMARY AND FOREIGN KEYS ==========
-- Type of the entity created
-- This only denotes which table to join against, not the type of the entity within the join table.
-- Possible values:
-- * 'model_weight'
-- * 'media_file'
-- * (maybe future types)
created_type VARCHAR(16) NOT NULL,
-- Token of the entity created
created_token VARCHAR(32) NOT NULL,
-- Type of the entity used
-- This only denotes which table to join against, not the type of the entity within the join table.
-- Possible values:
-- * 'model_weight'
-- * 'media_file'
-- * (maybe future types)
used_type VARCHAR(16) NOT NULL,
-- Token of the entity used
used_token VARCHAR(32) NOT NULL,
-- ========== TIMESTAMPS ==========
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
-- INDICES --
PRIMARY KEY (id),
UNIQUE KEY (created_type, created_token, used_type, used_token),
KEY index_created_type_and_token (created_type, created_token),
KEY index_used_type_and_token (used_type, used_token)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
@@ -0,0 +1,5 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE media_files DROP COLUMN maybe_prompt_token;
@@ -0,0 +1,10 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE media_files
ADD COLUMN maybe_prompt_token VARCHAR(32) DEFAULT NULL
AFTER maybe_text_transcript;
ALTER TABLE media_files
ADD INDEX fk_maybe_prompt_token (maybe_prompt_token);
@@ -0,0 +1,5 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE media_files DROP COLUMN maybe_media_subtype;
@@ -0,0 +1,7 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE media_files
ADD COLUMN maybe_media_subtype VARCHAR(32) DEFAULT NULL
AFTER media_type;
@@ -0,0 +1,5 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE users DROP COLUMN maybe_feature_flags;
@@ -0,0 +1,7 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE users
ADD COLUMN maybe_feature_flags VARCHAR(255) DEFAULT NULL
AFTER user_role_slug;
@@ -0,0 +1,5 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE media_files DROP COLUMN media_class;
@@ -0,0 +1,10 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE media_files
ADD COLUMN media_class VARCHAR(16) NOT NULL DEFAULT "unknown"
AFTER media_type;
ALTER TABLE media_files
ADD INDEX index_media_class (media_class);
@@ -0,0 +1,5 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE media_files DROP COLUMN maybe_title;
@@ -0,0 +1,7 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE media_files
ADD COLUMN maybe_title VARCHAR(255) DEFAULT NULL
AFTER maybe_batch_token;
@@ -0,0 +1,5 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE media_files DROP COLUMN maybe_cover_image_media_file_token;
@@ -0,0 +1,7 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE media_files
ADD COLUMN maybe_cover_image_media_file_token VARCHAR(32) DEFAULT NULL
AFTER maybe_title;
@@ -0,0 +1,5 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE users DROP COLUMN maybe_source;
@@ -0,0 +1,8 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE users
ADD COLUMN
maybe_source VARCHAR(255) DEFAULT NULL
AFTER auto_play_video_preference;
@@ -0,0 +1,5 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE media_files DROP COLUMN maybe_animation_type;
@@ -0,0 +1,7 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE media_files
ADD COLUMN maybe_animation_type VARCHAR(32) DEFAULT NULL
AFTER maybe_frame_height;
@@ -0,0 +1,5 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE generic_inference_jobs DROP COLUMN is_dismissed_by_user;
@@ -0,0 +1,7 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE generic_inference_jobs
ADD COLUMN is_dismissed_by_user BOOLEAN NOT NULL DEFAULT FALSE
AFTER attempt_count;
@@ -0,0 +1,5 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE media_files DROP COLUMN maybe_engine_category;
@@ -0,0 +1,9 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE media_files
ADD COLUMN maybe_engine_category VARCHAR(16) DEFAULT NULL
AFTER maybe_frame_height;
CREATE INDEX index_maybe_engine_category ON media_files (maybe_engine_category);
@@ -0,0 +1,5 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
DROP TABLE featured_items;
@@ -0,0 +1,40 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
CREATE TABLE featured_items (
-- Not used for anything except replication.
id BIGINT(20) NOT NULL AUTO_INCREMENT,
-- ========== ENTITY LINKAGE ==========
-- The type of record this is attached to
-- Currently supported values:
-- * 'model_weight'
-- * 'media_file'
entity_type VARCHAR(32) NOT NULL,
-- The token for the record.
entity_token VARCHAR(32) NOT NULL,
-- ========== SORTING ==========
-- A sorted ordering (optional) for pagination
maybe_sort_order INT UNSIGNED DEFAULT NULL,
-- ========== TIMESTAMPS ==========
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
deleted_at TIMESTAMP NULL,
-- INDICES --
PRIMARY KEY (id),
UNIQUE KEY (entity_type, entity_token),
KEY index_maybe_sort_order_asc (maybe_sort_order ASC),
KEY index_maybe_sort_order_desc (maybe_sort_order DESC),
KEY index_created_at (created_at),
KEY index_deleted_at (deleted_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
@@ -0,0 +1,5 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE media_files DROP COLUMN is_intermediate_system_file;
@@ -0,0 +1,10 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE media_files
ADD COLUMN is_intermediate_system_file BOOLEAN NOT NULL DEFAULT FALSE
AFTER maybe_batch_token;
ALTER TABLE media_files
ADD INDEX index_is_intermediate_system_file (is_intermediate_system_file);
@@ -0,0 +1,5 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE media_files DROP COLUMN maybe_style_transfer_source_media_file_token;
@@ -0,0 +1,7 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE media_files
ADD COLUMN maybe_style_transfer_source_media_file_token VARCHAR(32) DEFAULT NULL
AFTER maybe_cover_image_media_file_token;
@@ -0,0 +1,5 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE media_files DROP COLUMN maybe_scene_source_media_file_token;
@@ -0,0 +1,10 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE media_files
ADD COLUMN maybe_scene_source_media_file_token VARCHAR(32) DEFAULT NULL
AFTER maybe_style_transfer_source_media_file_token;
ALTER TABLE media_files
ADD INDEX index_maybe_scene_source_media_file_token (maybe_scene_source_media_file_token);
@@ -0,0 +1,5 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE media_files DROP COLUMN nsfw_status;
@@ -0,0 +1,10 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE media_files
ADD COLUMN nsfw_status VARCHAR(32) NOT NULL DEFAULT "unknown"
AFTER maybe_scene_source_media_file_token;
ALTER TABLE media_files
ADD INDEX index_nsfw_status (nsfw_status);
@@ -0,0 +1,5 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
DROP TABLE beta_keys;
@@ -0,0 +1,58 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
CREATE TABLE beta_keys (
-- Not used for anything except replication.
id BIGINT(20) NOT NULL AUTO_INCREMENT,
-- ========== PRIMARY, FOREIGN KEYS, and POLYMORPHISM ==========
-- Effective "primary key" of the beta key.
token VARCHAR(32) NOT NULL,
-- ========== KEY INFO ==========
-- Name of the product the key applies to
product VARCHAR(32) NOT NULL,
-- The actual key value that the user inputs
-- Crockford-encoded.
key_value VARCHAR(32) NOT NULL,
-- ========== REFERRER USER ==========
-- The user that offers the beta key to other users.
-- We can show a dashboard of unredeemed tokens for these users.
maybe_referrer_user_token VARCHAR(32) DEFAULT NULL,
-- ========== REDEEMER USER ==========
-- The user that redeems the beta key.
-- If set, the key has been redeemed.
maybe_redeemer_user_token VARCHAR(32) DEFAULT NULL,
-- The user that redeems the beta key.
-- Based on a cookie sent by the frontend.
maybe_redeemer_anonymous_visitor_token VARCHAR(32) DEFAULT NULL,
-- The user that redeems the beta key.
-- Wide enough for IPv4/6
maybe_redeemer_ip_address VARCHAR(40) DEFAULT NULL,
-- ========== TIMESTAMPS ==========
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
maybe_redeemed_at TIMESTAMP NULL,
-- INDICES --
PRIMARY KEY (id),
UNIQUE KEY (token),
UNIQUE KEY (key_value),
KEY index_maybe_referrer_user_token (maybe_referrer_user_token),
KEY index_maybe_redeemer_user_token (maybe_redeemer_user_token),
KEY index_created_at (created_at),
KEY index_maybe_redeemed_at (maybe_redeemed_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
@@ -0,0 +1,6 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE generic_inference_jobs
CHANGE maybe_routing_tag maybe_routing_tag VARCHAR(32) DEFAULT NULL;
@@ -0,0 +1,6 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE generic_inference_jobs
CHANGE maybe_routing_tag maybe_routing_tag VARCHAR(64) DEFAULT NULL;
@@ -0,0 +1,5 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
DROP TABLE tags;
@@ -0,0 +1,30 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
CREATE TABLE tags (
-- Not used for anything except replication.
id BIGINT(20) NOT NULL AUTO_INCREMENT,
-- ========== PRIMARY FUNCTIONALITY ==========
-- Effective "primary key" of the beta key.
token VARCHAR(32) NOT NULL,
-- The actual value of the tag.
-- The code will normalize this.
tag_value VARCHAR(255) NOT NULL,
-- ========== TIMESTAMPS ==========
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
maybe_deleted_at TIMESTAMP NULL,
-- INDICES --
PRIMARY KEY (id),
UNIQUE KEY (token),
UNIQUE KEY (tag_value),
KEY index_maybe_deleted_at (maybe_deleted_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
@@ -0,0 +1,5 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
DROP TABLE tag_uses;
@@ -0,0 +1,35 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
CREATE TABLE tag_uses (
-- Not used for anything except replication.
id BIGINT(20) NOT NULL AUTO_INCREMENT,
-- ========== TAG LINK ==========
-- Token of the tag
tag_token VARCHAR(32) NOT NULL,
-- ========== LINKED ENTITY ==========
-- Entity the tag is linked to (composite key)
entity_type VARCHAR(32) NOT NULL,
-- Entity the tag is linked to (composite key)
entity_token VARCHAR(32) NOT NULL,
-- ========== TIMESTAMPS ==========
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
maybe_deleted_at TIMESTAMP NULL,
-- INDICES --
PRIMARY KEY (id),
UNIQUE KEY (tag_token, entity_type, entity_token),
KEY index_tag_token (tag_token),
KEY index_entity_type_and_token (entity_type, entity_token),
KEY index_maybe_deleted_at (maybe_deleted_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
@@ -0,0 +1,40 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
CREATE TABLE featured_items (
-- Not used for anything except replication.
id BIGINT(20) NOT NULL AUTO_INCREMENT,
-- ========== ENTITY LINKAGE ==========
-- The type of record this is attached to
-- Currently supported values:
-- * 'model_weight'
-- * 'media_file'
entity_type VARCHAR(32) NOT NULL,
-- The token for the record.
entity_token VARCHAR(32) NOT NULL,
-- ========== SORTING ==========
-- A sorted ordering (optional) for pagination
maybe_sort_order INT UNSIGNED DEFAULT NULL,
-- ========== TIMESTAMPS ==========
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
deleted_at TIMESTAMP NULL,
-- INDICES --
PRIMARY KEY (id),
UNIQUE KEY (entity_type, entity_token),
KEY index_maybe_sort_order_asc (maybe_sort_order ASC),
KEY index_maybe_sort_order_desc (maybe_sort_order DESC),
KEY index_created_at (created_at),
KEY index_deleted_at (deleted_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
@@ -166,7 +166,7 @@ CREATE TABLE generic_inference_jobs (
-- The tag is typically added via a special HTTP header when the work
-- is enqueued. In practice, this means we can canary deploy or cordon
-- off special workers to handle certain jobs.
maybe_routing_tag VARCHAR(32) DEFAULT NULL,
maybe_routing_tag VARCHAR(64) DEFAULT NULL,
-- ========== JOB SYSTEM DETAILS ==========
@@ -198,6 +198,11 @@ CREATE TABLE generic_inference_jobs (
-- We can track this against a "max_attempt_count"
attempt_count SMALLINT UNSIGNED NOT NULL DEFAULT 0,
-- If the user chooses to no longer display or poll the job, we mark this flag true.
-- This can only be set for terminal state (completed or failed) jobs.
-- We use this flag to remove the job from the user's view.
is_dismissed_by_user BOOLEAN NOT NULL DEFAULT FALSE,
-- If there is a failure, tell the user why.
-- This isn't localized or very friendly to present to the user.
failure_reason VARCHAR(512) DEFAULT NULL,
+66 -2
View File
@@ -69,17 +69,65 @@ CREATE TABLE media_files (
-- ========== METADATA ==========
-- If the file is generated as an intermediate step that we won't share.
-- Eg. cover image uploads, 3D engine renders, etc.
is_intermediate_system_file BOOLEAN NOT NULL DEFAULT FALSE,
-- We can store text transcripts, etc. in other tables and refer back via foreign key.
-- Titles and even descriptions can go in another table(s): media_file_annotations, media_file_tags, media_file_descriptions, ...
-- (Not everything would have a text transcript.)
-- Media files can have optional titles
maybe_title VARCHAR(255) DEFAULT NULL,
-- The "cover" image is a media file of type image that severs as a small
-- example of the media file. Like album art or a user profile picture / avatar.
-- This is particularly useful for 3D assets and scenes.
maybe_cover_image_media_file_token VARCHAR(32) DEFAULT NULL,
-- If this media file was generated by style transferring a video, this is a link to the source video.
-- The token is a media file token.
maybe_style_transfer_source_media_file_token VARCHAR(32) DEFAULT NULL,
-- If this media file was generated generated by a scene from the engine, this is a link to that file.
-- The token is a media file token.
maybe_scene_source_media_file_token VARCHAR(32) DEFAULT NULL,
-- A flag for NSFW status.
nsfw_status VARCHAR(32) NOT NULL DEFAULT "unknown",
-- ========== MEDIA DETAILS ==========
-- Type of media:
-- Type of media file:
-- * TODO(bt): 'audio'/'video'/'image' will eventually become "jpg", "wav", "mp4", etc.
-- * 'audio' for wav, mp3, etc. (TODO: Deprecate this.)
-- * 'image' for a variety of video types. (TODO: Deprecate this.)
-- * 'video' for a variety of video types. (TODO: Deprecate this.)
-- * 'mocap` for motion capture files (eg. BVH, FBX, etc.) (TODO: Deprecate this)
-- * `bvh` for BVH files
-- * `fbx` for FBX files
-- * `glb` for GLB files
-- * `gltf` for GLTF files
-- * `scene_ron` for SCN.RON files
media_type VARCHAR(16) NOT NULL,
-- Broad class of media:
-- This is especially helpful with engine types that map to specific semantics.
-- * 'unknown' (TODO: This is the default until all records are backfilled.)
-- * 'audio' for wav, mp3, etc.
-- * 'image' for a variety of video types.
-- * 'video' for a variety of video types.
media_type VARCHAR(16) NOT NULL,
-- * 'animation' for animations (engine)
-- * 'character' for characters (engine)
-- * 'prop' for props (engine)
-- * 'scene' for scenes (engine; internal and external scenes)
media_class VARCHAR(16) NOT NULL DEFAULT "unknown",
-- A media file's possible subtype. Typically used for Storyteller Studio.
-- * 'mixamo' for mixamo animations (eg. for BVH, GLB, FBX, etc. files)
-- * 'mocap_net' for mocapnet animations (eg. for BVH files)
-- * 'scene' for generic scenes (eg. for BVH, GLB, FBX, etc. files)
maybe_media_subtype VARCHAR(32) DEFAULT NULL,
-- The file's mime type.
maybe_mime_type VARCHAR(32) DEFAULT NULL,
@@ -104,9 +152,19 @@ CREATE TABLE media_files (
-- For videos, the original frame height.
maybe_frame_height INT(5) DEFAULT NULL,
-- For 3D files, the category they're organized under
-- This is used as a website filter.
maybe_engine_category VARCHAR(16) DEFAULT NULL,
-- For 3D rigs and animations, the type of animation.
maybe_animation_type VARCHAR(32) DEFAULT NULL,
-- Optional text transcript for audio or video (especially TTS)
maybe_text_transcript TEXT DEFAULT NULL,
-- Optional pointer to the prompt that generated this media file, if relevant.
maybe_prompt_token VARCHAR(32) DEFAULT NULL,
-- Checksum of the original media
-- SHA1 hash [SHA2 = CHAR(64), SHA1 = CHAR(40), MD5 = CHAR(32)]
-- checksum_sha1 CHAR(40) NOT NULL,
@@ -220,7 +278,13 @@ CREATE TABLE media_files (
KEY fk_maybe_origin_model_token (maybe_origin_model_token),
KEY fk_maybe_origin_model_type_and_token (maybe_origin_model_type, maybe_origin_model_token),
KEY index_maybe_batch_token (maybe_batch_token),
KEY index_is_intermediate_system_file (is_intermediate_system_file),
KEY index_maybe_scene_source_media_file_token (maybe_scene_source_media_file_token),
KEY index_nsfw_status (nsfw_status),
KEY index_media_type (media_type),
KEY index_media_class (media_class),
KEY index_maybe_engine_category (maybe_engine_category),
KEY fk_maybe_prompt_token (maybe_prompt_token),
KEY index_checksum_sha2 (checksum_sha2),
KEY fk_maybe_creator_user_token (maybe_creator_user_token),
KEY fk_maybe_mod_user_token (maybe_mod_user_token),
+59
View File
@@ -0,0 +1,59 @@
-- NB: This is a manually squashed view of all the CREATE and ALTER statements,
-- with comments attached to the fields for centralized documentation.
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- Table to store prompts as a first class entity.
-- Duplication of the same prompt is totally fine.
CREATE TABLE prompts (
-- Not used for anything except replication.
id BIGINT(20) NOT NULL AUTO_INCREMENT,
-- ========== PRIMARY, FOREIGN KEYS, and POLYMORPHISM ==========
-- Effective "primary key" of the prompt
token VARCHAR(32) NOT NULL,
-- Original product to which the prompt applied.
-- Prompts may or may not be compatible across products.
-- Possible values:
-- * 'stable_diffusion'
-- * 'comfy_ui'
prompt_type VARCHAR(16) NOT NULL,
-- Whomever created the prompt
maybe_creator_user_token VARCHAR(32) DEFAULT NULL,
-- ========== PROMPT DETAILS ==========
-- The positive prompt (optional)
-- TEXT = 65,535 bytes (64 KiB), ~= 4 bytes per UTF-8 character, ~ 16383 characters.
maybe_positive_prompt TEXT DEFAULT NULL,
-- The negative prompt (optional)
-- TEXT = 65,535 bytes (64 KiB), ~= 4 bytes per UTF-8 character, ~ 16383 characters.
maybe_negative_prompt TEXT DEFAULT NULL,
-- Polymorphic arguments payload that depends on the type of inference job.
-- TEXT = 65,535 bytes (64 KiB), ~= 4 bytes per UTF-8 character, ~ 16383 characters.
maybe_other_args TEXT DEFAULT NULL,
-- ========== ABUSE TRACKING ==========
-- For abuse tracking.
-- Wide enough for IPv4/6
creator_ip_address VARCHAR(40) NOT NULL,
-- ========== TIMESTAMPS ==========
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
-- INDICES --
PRIMARY KEY (id),
UNIQUE KEY (token),
KEY index_maybe_creator_user_token (maybe_creator_user_token),
KEY index_created_at (created_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
+49
View File
@@ -0,0 +1,49 @@
-- NB: This is a manually squashed view of all the CREATE and ALTER statements,
-- with comments attached to the fields for centralized documentation.
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- Usages of models and assets to create things
-- This should work for inference as well as 3D object/scene creation,
-- so the inputs can be models OR files.
CREATE TABLE usages (
-- Not used for anything except replication.
id BIGINT(20) NOT NULL AUTO_INCREMENT,
-- ========== PRIMARY AND FOREIGN KEYS ==========
-- Type of the entity created
-- This only denotes which table to join against, not the type of the entity within the join table.
-- Possible values:
-- * 'model_weight'
-- * 'media_file'
-- * (maybe future types)
created_type VARCHAR(16) NOT NULL,
-- Token of the entity created
created_token VARCHAR(32) NOT NULL,
-- Type of the entity used
-- This only denotes which table to join against, not the type of the entity within the join table.
-- Possible values:
-- * 'model_weight'
-- * 'media_file'
-- * (maybe future types)
used_type VARCHAR(16) NOT NULL,
-- Token of the entity used
used_token VARCHAR(32) NOT NULL,
-- ========== TIMESTAMPS ==========
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
-- INDICES --
PRIMARY KEY (id),
UNIQUE KEY (created_type, created_token, used_type, used_token),
KEY index_created_type_and_token (created_type, created_token),
KEY index_used_type_and_token (used_type, used_token)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

Some files were not shown because too many files have changed in this diff Show More