github.com/icyphox/x@v0.0.355-0.20220311094250-029bd783e8b8/popx/stub/migrations/legacy/20200519101057_create_recovery_addresses.mysql.up.sql (about)

     1  CREATE TABLE `identity_recovery_addresses` (
     2  `id` char(36) NOT NULL,
     3  PRIMARY KEY(`id`),
     4  `via` VARCHAR (16) NOT NULL,
     5  `value` VARCHAR (400) NOT NULL,
     6  `identity_id` char(36) NOT NULL,
     7  `created_at` DATETIME NOT NULL,
     8  `updated_at` DATETIME NOT NULL,
     9  FOREIGN KEY (`identity_id`) REFERENCES `identities` (`id`) ON DELETE cascade
    10  ) ENGINE=InnoDB;
    11  CREATE UNIQUE INDEX `identity_recovery_addresses_status_via_uq_idx` ON `identity_recovery_addresses` (`via`, `value`);
    12  CREATE INDEX `identity_recovery_addresses_status_via_idx` ON `identity_recovery_addresses` (`via`, `value`);
    13  CREATE TABLE `selfservice_recovery_requests` (
    14  `id` char(36) NOT NULL,
    15  PRIMARY KEY(`id`),
    16  `request_url` VARCHAR (2048) NOT NULL,
    17  `issued_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    18  `expires_at` DATETIME NOT NULL,
    19  `messages` JSON,
    20  `active_method` VARCHAR (32),
    21  `csrf_token` VARCHAR (255) NOT NULL,
    22  `state` VARCHAR (32) NOT NULL,
    23  `recovered_identity_id` char(36),
    24  `created_at` DATETIME NOT NULL,
    25  `updated_at` DATETIME NOT NULL,
    26  FOREIGN KEY (`recovered_identity_id`) REFERENCES `identities` (`id`) ON DELETE cascade
    27  ) ENGINE=InnoDB;
    28  CREATE TABLE `selfservice_recovery_request_methods` (
    29  `id` char(36) NOT NULL,
    30  PRIMARY KEY(`id`),
    31  `method` VARCHAR (32) NOT NULL,
    32  `config` JSON NOT NULL,
    33  `selfservice_recovery_request_id` char(36) NOT NULL,
    34  `created_at` DATETIME NOT NULL,
    35  `updated_at` DATETIME NOT NULL,
    36  FOREIGN KEY (`selfservice_recovery_request_id`) REFERENCES `selfservice_recovery_requests` (`id`) ON DELETE cascade
    37  ) ENGINE=InnoDB;
    38  CREATE TABLE `identity_recovery_tokens` (
    39  `id` char(36) NOT NULL,
    40  PRIMARY KEY(`id`),
    41  `token` VARCHAR (64) NOT NULL,
    42  `used` bool NOT NULL DEFAULT false,
    43  `used_at` DATETIME,
    44  `identity_recovery_address_id` char(36) NOT NULL,
    45  `selfservice_recovery_request_id` char(36) NOT NULL,
    46  `created_at` DATETIME NOT NULL,
    47  `updated_at` DATETIME NOT NULL,
    48  FOREIGN KEY (`identity_recovery_address_id`) REFERENCES `identity_recovery_addresses` (`id`) ON DELETE cascade,
    49  FOREIGN KEY (`selfservice_recovery_request_id`) REFERENCES `selfservice_recovery_requests` (`id`) ON DELETE cascade
    50  ) ENGINE=InnoDB;
    51  CREATE UNIQUE INDEX `identity_recovery_addresses_code_uq_idx` ON `identity_recovery_tokens` (`token`);
    52  CREATE INDEX `identity_recovery_addresses_code_idx` ON `identity_recovery_tokens` (`token`);