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>
195 lines
4.3 KiB
JSON
195 lines
4.3 KiB
JSON
{
|
|
"db_name": "SQLite",
|
|
"query": "SELECT id AS \"id!: i64\", tmdb_id AS \"tmdb_id!: i64\", title AS \"title!: String\", year, original_language, root_id AS \"root_id!: i64\", wanted AS \"wanted!: bool\", overrides AS \"overrides!: serde_json::Value\", state AS \"state!: String\", blocked AS \"blocked!: bool\", search_attempts AS \"search_attempts!: i64\", last_searched_at, poster_path, vote_average, (SELECT f.waiver FROM media_files f WHERE f.owner_kind = 'movie' AND f.owner_id = movies.id AND f.waiver IS NOT NULL ORDER BY f.id LIMIT 1) AS \"waiver?: serde_json::Value\" FROM movies WHERE id = ?",
|
|
"describe": {
|
|
"columns": [
|
|
{
|
|
"name": "id!: i64",
|
|
"ordinal": 0,
|
|
"type_info": "Integer",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "movies",
|
|
"name": "id"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "tmdb_id!: i64",
|
|
"ordinal": 1,
|
|
"type_info": "Integer",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "movies",
|
|
"name": "tmdb_id"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "title!: String",
|
|
"ordinal": 2,
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "movies",
|
|
"name": "title"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "year",
|
|
"ordinal": 3,
|
|
"type_info": "Integer",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "movies",
|
|
"name": "year"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "original_language",
|
|
"ordinal": 4,
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "movies",
|
|
"name": "original_language"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "root_id!: i64",
|
|
"ordinal": 5,
|
|
"type_info": "Integer",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "movies",
|
|
"name": "root_id"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "wanted!: bool",
|
|
"ordinal": 6,
|
|
"type_info": "Integer",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "movies",
|
|
"name": "wanted"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "overrides!: serde_json::Value",
|
|
"ordinal": 7,
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "movies",
|
|
"name": "overrides"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "state!: String",
|
|
"ordinal": 8,
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "movies",
|
|
"name": "state"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "blocked!: bool",
|
|
"ordinal": 9,
|
|
"type_info": "Integer",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "movies",
|
|
"name": "blocked"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "search_attempts!: i64",
|
|
"ordinal": 10,
|
|
"type_info": "Integer",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "movies",
|
|
"name": "search_attempts"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "last_searched_at",
|
|
"ordinal": 11,
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "movies",
|
|
"name": "last_searched_at"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "poster_path",
|
|
"ordinal": 12,
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "movies",
|
|
"name": "poster_path"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "vote_average",
|
|
"ordinal": 13,
|
|
"type_info": "Float",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "movies",
|
|
"name": "vote_average"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "waiver?: serde_json::Value",
|
|
"ordinal": 14,
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "media_files",
|
|
"name": "waiver"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"parameters": {
|
|
"Right": 1
|
|
},
|
|
"nullable": [
|
|
false,
|
|
false,
|
|
false,
|
|
true,
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
true,
|
|
true,
|
|
true,
|
|
true
|
|
]
|
|
},
|
|
"hash": "53a2b5bcc6a753b8ef0a5f4110a69cc8ece28966cfa003f4bfe1190c55831a23"
|
|
}
|