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" })