ef4722e1dd
sqlx-sqlite 0.8 ignored Migration.no_tx and wrapped every migration in a transaction, where PRAGMA foreign_keys = OFF is a no-op — so any table rebuild cascade-deleted children. 0.9 honours `-- no-transaction`, so 0014 drops its movie_releases_backup / episode_releases_backup workaround and runs the plain rebuild recipe with foreign keys off. A migration test rebuilds both parents from a pre-0014 database and asserts the child link rows survive. Closes #155 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
159 lines
3.5 KiB
JSON
159 lines
3.5 KiB
JSON
{
|
|
"db_name": "SQLite",
|
|
"query": "SELECT r.id AS \"id!: i64\", r.indexer_id AS \"indexer_id!: i64\", r.guid AS \"guid!: String\", r.name AS \"name!: String\", r.size AS \"size!: i64\", r.seeders, r.publish_date, r.download_url AS \"download_url!: String\", r.parsed AS \"parsed!: serde_json::Value\", r.score, r.verdict, r.rejected_rule FROM releases r JOIN season_releases sr ON sr.release_id = r.id WHERE sr.season_id = ? ORDER BY CASE r.verdict WHEN 'eligible' THEN 0 WHEN 'waived' THEN 1 ELSE 2 END, r.score DESC, r.id",
|
|
"describe": {
|
|
"columns": [
|
|
{
|
|
"name": "id!: i64",
|
|
"ordinal": 0,
|
|
"type_info": "Integer",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "releases",
|
|
"name": "id"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "indexer_id!: i64",
|
|
"ordinal": 1,
|
|
"type_info": "Integer",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "releases",
|
|
"name": "indexer_id"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "guid!: String",
|
|
"ordinal": 2,
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "releases",
|
|
"name": "guid"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "name!: String",
|
|
"ordinal": 3,
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "releases",
|
|
"name": "name"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "size!: i64",
|
|
"ordinal": 4,
|
|
"type_info": "Integer",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "releases",
|
|
"name": "size"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "seeders",
|
|
"ordinal": 5,
|
|
"type_info": "Integer",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "releases",
|
|
"name": "seeders"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "publish_date",
|
|
"ordinal": 6,
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "releases",
|
|
"name": "publish_date"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "download_url!: String",
|
|
"ordinal": 7,
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "releases",
|
|
"name": "download_url"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "parsed!: serde_json::Value",
|
|
"ordinal": 8,
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "releases",
|
|
"name": "parsed"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "score",
|
|
"ordinal": 9,
|
|
"type_info": "Float",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "releases",
|
|
"name": "score"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "verdict",
|
|
"ordinal": 10,
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "releases",
|
|
"name": "verdict"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "rejected_rule",
|
|
"ordinal": 11,
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "releases",
|
|
"name": "rejected_rule"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"parameters": {
|
|
"Right": 1
|
|
},
|
|
"nullable": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
true,
|
|
true,
|
|
false,
|
|
false,
|
|
true,
|
|
true,
|
|
true
|
|
]
|
|
},
|
|
"hash": "aaf6f4f7243bffa925fa17c9af3afb91c076ae3976b11cf18eb7583b8ce69a7e"
|
|
}
|