github.com/icyphox/x@v0.0.355-0.20220311094250-029bd783e8b8/popx/stub/migrations/source/20200519101057_create_recovery_addresses.up.fizz (about) 1 create_table("identity_recovery_addresses") { 2 t.Column("id", "uuid", {primary: true}) 3 4 t.Column("via", "string", {"size": 16}) 5 t.Column("value", "string", {"size": 400}) 6 7 t.Column("identity_id", "uuid") 8 t.ForeignKey("identity_id", {"identities": ["id"]}, {"on_delete": "cascade"}) 9 } 10 11 add_index("identity_recovery_addresses", ["via", "value"], { "unique": true, "name": "identity_recovery_addresses_status_via_uq_idx" }) 12 add_index("identity_recovery_addresses", ["via", "value"], { "name": "identity_recovery_addresses_status_via_idx" }) 13 14 create_table("selfservice_recovery_requests") { 15 t.Column("id", "uuid", {primary: true}) 16 t.Column("request_url", "string", {"size": 2048}) 17 t.Column("issued_at", "timestamp", { "default_raw": "CURRENT_TIMESTAMP" }) 18 t.Column("expires_at", "timestamp") 19 t.Column("messages", "json", {"null": true}) 20 t.Column("active_method", "string", {"size": 32, "null": true}) 21 t.Column("csrf_token", "string") 22 t.Column("state", "string", {"size": 32}) 23 24 t.Column("recovered_identity_id", "uuid", { "null": true }) 25 t.ForeignKey("recovered_identity_id", {"identities": ["id"]}, {"on_delete": "cascade"}) 26 } 27 28 create_table("selfservice_recovery_request_methods") { 29 t.Column("id", "uuid", {primary: true}) 30 t.Column("method", "string", {"size": 32}) 31 t.Column("config", "json") 32 33 t.Column("selfservice_recovery_request_id", "uuid") 34 t.ForeignKey("selfservice_recovery_request_id", {"selfservice_recovery_requests": ["id"]}, {"on_delete": "cascade"}) 35 } 36 37 create_table("identity_recovery_tokens") { 38 t.Column("id", "uuid", {primary: true}) 39 40 t.Column("token", "string", {"size": 64}) 41 t.Column("used", "bool", {"default": false}) 42 t.Column("used_at", "timestamp", {"null": true}) 43 44 t.Column("identity_recovery_address_id", "uuid") 45 t.ForeignKey("identity_recovery_address_id", {"identity_recovery_addresses": ["id"]}, {"on_delete": "cascade"}) 46 47 t.Column("selfservice_recovery_request_id", "uuid") 48 t.ForeignKey("selfservice_recovery_request_id", {"selfservice_recovery_requests": ["id"]}, {"on_delete": "cascade"}) 49 } 50 51 add_index("identity_recovery_tokens", ["token"], { "unique": true, "name": "identity_recovery_addresses_code_uq_idx" }) 52 add_index("identity_recovery_tokens", ["token"], { "name": "identity_recovery_addresses_code_idx" })