snapshot of https://github.com/ory/kratos.git (master, 2026-09-15; blobs > 131072B omitted)
Some checks failed
CI / Run tests and lints (push) Failing after 29s
CI / Build CLI docs (push) Has been skipped
CI / Run Playwright end-to-end tests (mysql) (push) Failing after 3s
CI / Run Playwright end-to-end tests (postgres) (push) Failing after 2s
CI / Run Playwright end-to-end tests (sqlite) (push) Failing after 3s
CodeQL / Analyze (go) (push) Failing after 4s
CodeQL / Analyze (javascript) (push) Failing after 3s
Docker Image Scanners / scanners (push) Failing after 4s
Synchronize Issue Labels / Synchronize Issue Labels (push) Has been skipped
CI / Run end-to-end tests (postgres) (push) Failing after 19s
CI / Run end-to-end tests (sqlite) (push) Failing after 2s
CI / Run Playwright end-to-end tests (cockroach) (push) Failing after 2s
CI / Draft newsletter (push) Has been skipped
CI / Generate release (push) Has been skipped
CI / Pending approval Slack notification (push) Has been skipped
CI / Send newsletter (push) Has been skipped
Some checks failed
CI / Run tests and lints (push) Failing after 29s
CI / Build CLI docs (push) Has been skipped
CI / Run Playwright end-to-end tests (mysql) (push) Failing after 3s
CI / Run Playwright end-to-end tests (postgres) (push) Failing after 2s
CI / Run Playwright end-to-end tests (sqlite) (push) Failing after 3s
CodeQL / Analyze (go) (push) Failing after 4s
CodeQL / Analyze (javascript) (push) Failing after 3s
Docker Image Scanners / scanners (push) Failing after 4s
Synchronize Issue Labels / Synchronize Issue Labels (push) Has been skipped
CI / Run end-to-end tests (postgres) (push) Failing after 19s
CI / Run end-to-end tests (sqlite) (push) Failing after 2s
CI / Run Playwright end-to-end tests (cockroach) (push) Failing after 2s
CI / Draft newsletter (push) Has been skipped
CI / Generate release (push) Has been skipped
CI / Pending approval Slack notification (push) Has been skipped
CI / Send newsletter (push) Has been skipped
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
drop_table("identity_credential_identifiers")
|
||||
drop_table("identity_credentials")
|
||||
drop_table("identity_credential_types")
|
||||
drop_table("identities")
|
||||
@@ -0,0 +1,34 @@
|
||||
create_table("identities") {
|
||||
t.Column("id", "uuid", {primary: true})
|
||||
t.Column("traits_schema_id", "string", {"size": 2048})
|
||||
t.Column("traits", "json")
|
||||
}
|
||||
|
||||
create_table("identity_credential_types") {
|
||||
t.Column("id", "uuid", {primary: true})
|
||||
t.Column("name", "string", { "size": 32 })
|
||||
|
||||
t.DisableTimestamps()
|
||||
}
|
||||
|
||||
add_index("identity_credential_types", "name", {"unique": true})
|
||||
|
||||
create_table("identity_credentials") {
|
||||
t.Column("id", "uuid", {primary: true})
|
||||
t.Column("config", "json")
|
||||
|
||||
t.Column("identity_credential_type_id", "uuid")
|
||||
t.Column("identity_id", "uuid")
|
||||
|
||||
t.ForeignKey("identity_id", {"identities": ["id"]}, {"on_delete": "cascade"})
|
||||
t.ForeignKey("identity_credential_type_id", {"identity_credential_types": ["id"]}, {"on_delete": "cascade"})
|
||||
}
|
||||
|
||||
create_table("identity_credential_identifiers") {
|
||||
t.Column("id", "uuid", {primary: true})
|
||||
t.Column("identifier", "string", {"size": 255})
|
||||
t.Column("identity_credential_id", "uuid")
|
||||
t.ForeignKey("identity_credential_id", {"identity_credentials": ["id"]}, {"on_delete": "cascade"})
|
||||
}
|
||||
|
||||
add_index("identity_credential_identifiers", "identifier", {"unique": true})
|
||||
@@ -0,0 +1,7 @@
|
||||
drop_table("selfservice_login_request_methods")
|
||||
drop_table("selfservice_login_requests")
|
||||
|
||||
drop_table("selfservice_registration_request_methods")
|
||||
drop_table("selfservice_registration_requests")
|
||||
|
||||
drop_table("selfservice_profile_management_requests")
|
||||
@@ -0,0 +1,47 @@
|
||||
create_table("selfservice_login_requests") {
|
||||
t.Column("id", "uuid", {primary: true})
|
||||
t.Column("request_url", "string", {"size": 2048})
|
||||
t.Column("issued_at", "timestamp", { "default_raw": "CURRENT_TIMESTAMP" })
|
||||
t.Column("expires_at", "timestamp")
|
||||
t.Column("active_method", "string", {"size": 32})
|
||||
t.Column("csrf_token", "string")
|
||||
}
|
||||
|
||||
create_table("selfservice_login_request_methods") {
|
||||
t.Column("id", "uuid", {primary: true})
|
||||
t.Column("method", "string", {"size": 32})
|
||||
t.Column("selfservice_login_request_id", "uuid")
|
||||
t.Column("config", "json")
|
||||
|
||||
t.ForeignKey("selfservice_login_request_id", {"selfservice_login_requests": ["id"]}, {"on_delete": "cascade"})
|
||||
}
|
||||
|
||||
create_table("selfservice_registration_requests") {
|
||||
t.Column("id", "uuid", {primary: true})
|
||||
t.Column("request_url", "string", {"size": 2048})
|
||||
t.Column("issued_at", "timestamp", { "default_raw": "CURRENT_TIMESTAMP" })
|
||||
t.Column("expires_at", "timestamp")
|
||||
t.Column("active_method", "string", {"size": 32})
|
||||
t.Column("csrf_token", "string")
|
||||
}
|
||||
|
||||
create_table("selfservice_registration_request_methods") {
|
||||
t.Column("id", "uuid", {primary: true})
|
||||
t.Column("method", "string", {"size": 32})
|
||||
t.Column("selfservice_registration_request_id", "uuid")
|
||||
t.Column("config", "json")
|
||||
|
||||
t.ForeignKey("selfservice_registration_request_id", {"selfservice_registration_requests": ["id"]}, {"on_delete": "cascade"})
|
||||
}
|
||||
|
||||
create_table("selfservice_profile_management_requests") {
|
||||
t.Column("id", "uuid", {primary: true})
|
||||
t.Column("request_url", "string", {"size": 2048})
|
||||
t.Column("issued_at", "timestamp", { "default_raw": "CURRENT_TIMESTAMP" })
|
||||
t.Column("expires_at", "timestamp")
|
||||
t.Column("form", "json")
|
||||
t.Column("update_successful", "bool")
|
||||
t.Column("identity_id", "uuid")
|
||||
|
||||
t.ForeignKey("identity_id", {"identities": ["id"]}, {"on_delete": "cascade"})
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
drop_table("sessions")
|
||||
@@ -0,0 +1,9 @@
|
||||
create_table("sessions") {
|
||||
t.Column("id", "uuid", {primary: true})
|
||||
t.Column("issued_at", "timestamp", { "default_raw": "CURRENT_TIMESTAMP" })
|
||||
t.Column("expires_at", "timestamp")
|
||||
t.Column("authenticated_at", "timestamp")
|
||||
t.Column("identity_id", "uuid")
|
||||
|
||||
t.ForeignKey("identity_id", {"identities": ["id"]}, {"on_delete": "cascade"})
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
drop_table("selfservice_errors")
|
||||
@@ -0,0 +1,6 @@
|
||||
create_table("selfservice_errors") {
|
||||
t.Column("id", "uuid", {primary: true})
|
||||
t.Column("errors", "json")
|
||||
t.Column("seen_at", "timestamp")
|
||||
t.Column("was_seen", "bool")
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
ALTER TABLE identity_credential_identifiers MODIFY COLUMN identifier VARCHAR(255);
|
||||
@@ -0,0 +1 @@
|
||||
ALTER TABLE identity_credential_identifiers MODIFY COLUMN identifier VARCHAR(255) BINARY;
|
||||
@@ -0,0 +1 @@
|
||||
drop_table("courier_messages")
|
||||
@@ -0,0 +1,10 @@
|
||||
create_table("courier_messages") {
|
||||
t.Column("id", "uuid", {primary: true})
|
||||
|
||||
t.Column("type", "int")
|
||||
t.Column("status", "int")
|
||||
|
||||
t.Column("body", "string")
|
||||
t.Column("subject", "string")
|
||||
t.Column("recipient", "string")
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
drop_column("selfservice_errors", "csrf_token")
|
||||
@@ -0,0 +1 @@
|
||||
add_column("selfservice_errors", "csrf_token", "string", {"default": ""})
|
||||
@@ -0,0 +1,2 @@
|
||||
drop_table("selfservice_verification_requests")
|
||||
drop_table("identity_verifiable_addresses")
|
||||
@@ -0,0 +1,35 @@
|
||||
create_table("identity_verifiable_addresses") {
|
||||
t.Column("id", "uuid", {primary: true})
|
||||
|
||||
t.Column("code", "string", {"size": 32})
|
||||
t.Column("status", "string", {"size": 16})
|
||||
t.Column("via", "string", {"size": 16})
|
||||
t.Column("verified", "bool")
|
||||
|
||||
t.Column("value", "string", {"size": 400})
|
||||
|
||||
t.Column("verified_at", "timestamp", {"null": true})
|
||||
t.Column("expires_at", "timestamp", { "default_raw": "CURRENT_TIMESTAMP" })
|
||||
|
||||
t.Column("identity_id", "uuid")
|
||||
t.ForeignKey("identity_id", {"identities": ["id"]}, {"on_delete": "cascade"})
|
||||
}
|
||||
|
||||
add_index("identity_verifiable_addresses", ["code"], { "unique": true, "name": "identity_verifiable_addresses_code_uq_idx" })
|
||||
add_index("identity_verifiable_addresses", ["code"], { "name": "identity_verifiable_addresses_code_idx" })
|
||||
|
||||
add_index("identity_verifiable_addresses", ["via", "value"], { "unique": true, "name": "identity_verifiable_addresses_status_via_uq_idx" })
|
||||
add_index("identity_verifiable_addresses", ["via", "value"], { "name": "identity_verifiable_addresses_status_via_idx" })
|
||||
|
||||
create_table("selfservice_verification_requests") {
|
||||
t.Column("id", "uuid", {primary: true})
|
||||
|
||||
t.Column("request_url", "string", {"size": 2048})
|
||||
t.Column("issued_at", "timestamp", { "default_raw": "CURRENT_TIMESTAMP" })
|
||||
t.Column("expires_at", "timestamp")
|
||||
|
||||
t.Column("form", "json")
|
||||
t.Column("via", "string", {"size": 16})
|
||||
t.Column("csrf_token", "string")
|
||||
t.Column("success", "bool")
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
ALTER TABLE identity_verifiable_addresses MODIFY COLUMN code VARCHAR(255);
|
||||
@@ -0,0 +1 @@
|
||||
ALTER TABLE identity_verifiable_addresses MODIFY COLUMN code VARCHAR(255) BINARY;
|
||||
@@ -0,0 +1,2 @@
|
||||
sql("UPDATE selfservice_errors SET seen_at = '1980-01-01 00:00:00' WHERE seen_at = NULL;")
|
||||
change_column("selfservice_errors", "seen_at", "timestamp", { null: false })
|
||||
@@ -0,0 +1 @@
|
||||
change_column("selfservice_errors", "seen_at", "timestamp", { "null": true })
|
||||
@@ -0,0 +1,7 @@
|
||||
<%#
|
||||
|
||||
Do nothing because the change will not be able to preserve data and the change is insignificant as it's compatible
|
||||
with both code bases (prior and after this change).
|
||||
|
||||
WARNING: https://github.com/gobuffalo/fizz/issues/45#issuecomment-586833728
|
||||
%>
|
||||
@@ -0,0 +1 @@
|
||||
change_column("courier_messages", "body", "text", {})
|
||||
@@ -0,0 +1 @@
|
||||
drop_column("selfservice_login_requests", "forced")
|
||||
@@ -0,0 +1 @@
|
||||
add_column("selfservice_login_requests", "forced", "bool", {"default": false})
|
||||
@@ -0,0 +1,12 @@
|
||||
{{ if or .IsPostgreSQL .IsMySQL .IsMariaDB }}
|
||||
add_column("selfservice_profile_management_requests", "form", "json", { "null": true })
|
||||
sql("UPDATE selfservice_profile_management_requests SET form=(SELECT * FROM (SELECT m.config FROM selfservice_profile_management_requests AS r INNER JOIN selfservice_profile_management_request_methods AS m ON r.id=m.selfservice_profile_management_request_id) as t);")
|
||||
change_column("selfservice_profile_management_requests", "form", "json", { "null": false })
|
||||
{{ end }}
|
||||
|
||||
{{ if .IsCockroach }}
|
||||
add_column("selfservice_profile_management_requests", "form", "json", { "default": "{}" })
|
||||
{{ end }}
|
||||
|
||||
drop_table("selfservice_profile_management_request_methods")
|
||||
drop_column("selfservice_profile_management_requests", "active_method")
|
||||
@@ -0,0 +1,12 @@
|
||||
create_table("selfservice_profile_management_request_methods") {
|
||||
t.Column("id", "uuid", {primary: true})
|
||||
t.Column("method", "string", {"size": 32})
|
||||
t.Column("selfservice_profile_management_request_id", "uuid")
|
||||
t.Column("config", "json")
|
||||
}
|
||||
|
||||
add_column("selfservice_profile_management_requests", "active_method", "string", {"size": 32, null: true})
|
||||
|
||||
sql("INSERT INTO selfservice_profile_management_request_methods (id, method, selfservice_profile_management_request_id, config) SELECT id, 'traits', id, form FROM selfservice_profile_management_requests;")
|
||||
|
||||
drop_column("selfservice_profile_management_requests", "form")
|
||||
@@ -0,0 +1 @@
|
||||
drop_table("continuity_containers")
|
||||
@@ -0,0 +1,11 @@
|
||||
create_table("continuity_containers") {
|
||||
t.Column("id", "uuid", {primary: true})
|
||||
|
||||
t.Column("identity_id", "uuid", {null: true})
|
||||
|
||||
t.Column("name", "string")
|
||||
t.Column("payload", "json", {null: true})
|
||||
t.Column("expires_at", "timestamp")
|
||||
|
||||
t.ForeignKey("identity_id", {"identities": ["id"]}, {"on_delete": "cascade"})
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
rename_column("selfservice_settings_request_methods", "selfservice_settings_request_id", "selfservice_profile_management_request_id")
|
||||
|
||||
rename_table("selfservice_settings_request_methods", "selfservice_profile_management_request_methods")
|
||||
rename_table("selfservice_settings_requests", "selfservice_profile_management_requests")
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
rename_column("selfservice_profile_management_request_methods", "selfservice_profile_management_request_id", "selfservice_settings_request_id")
|
||||
|
||||
rename_table("selfservice_profile_management_request_methods", "selfservice_settings_request_methods")
|
||||
rename_table("selfservice_profile_management_requests", "selfservice_settings_requests")
|
||||
@@ -0,0 +1,4 @@
|
||||
drop_table("identity_recovery_tokens")
|
||||
drop_table("selfservice_recovery_request_methods")
|
||||
drop_table("selfservice_recovery_requests")
|
||||
drop_table("identity_recovery_addresses")
|
||||
@@ -0,0 +1,52 @@
|
||||
create_table("identity_recovery_addresses") {
|
||||
t.Column("id", "uuid", {primary: true})
|
||||
|
||||
t.Column("via", "string", {"size": 16})
|
||||
t.Column("value", "string", {"size": 400})
|
||||
|
||||
t.Column("identity_id", "uuid")
|
||||
t.ForeignKey("identity_id", {"identities": ["id"]}, {"on_delete": "cascade"})
|
||||
}
|
||||
|
||||
add_index("identity_recovery_addresses", ["via", "value"], { "unique": true, "name": "identity_recovery_addresses_status_via_uq_idx" })
|
||||
add_index("identity_recovery_addresses", ["via", "value"], { "name": "identity_recovery_addresses_status_via_idx" })
|
||||
|
||||
create_table("selfservice_recovery_requests") {
|
||||
t.Column("id", "uuid", {primary: true})
|
||||
t.Column("request_url", "string", {"size": 2048})
|
||||
t.Column("issued_at", "timestamp", { "default_raw": "CURRENT_TIMESTAMP" })
|
||||
t.Column("expires_at", "timestamp")
|
||||
t.Column("messages", "json", {"null": true})
|
||||
t.Column("active_method", "string", {"size": 32, "null": true})
|
||||
t.Column("csrf_token", "string")
|
||||
t.Column("state", "string", {"size": 32})
|
||||
|
||||
t.Column("recovered_identity_id", "uuid", { "null": true })
|
||||
t.ForeignKey("recovered_identity_id", {"identities": ["id"]}, {"on_delete": "cascade"})
|
||||
}
|
||||
|
||||
create_table("selfservice_recovery_request_methods") {
|
||||
t.Column("id", "uuid", {primary: true})
|
||||
t.Column("method", "string", {"size": 32})
|
||||
t.Column("config", "json")
|
||||
|
||||
t.Column("selfservice_recovery_request_id", "uuid")
|
||||
t.ForeignKey("selfservice_recovery_request_id", {"selfservice_recovery_requests": ["id"]}, {"on_delete": "cascade"})
|
||||
}
|
||||
|
||||
create_table("identity_recovery_tokens") {
|
||||
t.Column("id", "uuid", {primary: true})
|
||||
|
||||
t.Column("token", "string", {"size": 64})
|
||||
t.Column("used", "bool", {"default": false})
|
||||
t.Column("used_at", "timestamp", {"null": true})
|
||||
|
||||
t.Column("identity_recovery_address_id", "uuid")
|
||||
t.ForeignKey("identity_recovery_address_id", {"identity_recovery_addresses": ["id"]}, {"on_delete": "cascade"})
|
||||
|
||||
t.Column("selfservice_recovery_request_id", "uuid")
|
||||
t.ForeignKey("selfservice_recovery_request_id", {"selfservice_recovery_requests": ["id"]}, {"on_delete": "cascade"})
|
||||
}
|
||||
|
||||
add_index("identity_recovery_tokens", ["token"], { "unique": true, "name": "identity_recovery_addresses_code_uq_idx" })
|
||||
add_index("identity_recovery_tokens", ["token"], { "name": "identity_recovery_addresses_code_idx" })
|
||||
@@ -0,0 +1 @@
|
||||
ALTER TABLE identity_recovery_tokens MODIFY COLUMN token VARCHAR(64);
|
||||
@@ -0,0 +1 @@
|
||||
ALTER TABLE identity_recovery_tokens MODIFY COLUMN token VARCHAR(64) BINARY;
|
||||
@@ -0,0 +1 @@
|
||||
drop_column("selfservice_settings_requests", "messages")
|
||||
@@ -0,0 +1 @@
|
||||
add_column("selfservice_settings_requests", "messages", "json", {"null": true})
|
||||
@@ -0,0 +1 @@
|
||||
ALTER TABLE identity_verifiable_addresses MODIFY COLUMN code VARCHAR(255) BINARY;
|
||||
@@ -0,0 +1 @@
|
||||
ALTER TABLE identity_verifiable_addresses MODIFY COLUMN code VARCHAR(32) BINARY;
|
||||
@@ -0,0 +1,3 @@
|
||||
drop_column("selfservice_verification_requests", "messages")
|
||||
drop_column("selfservice_login_requests", "messages")
|
||||
drop_column("selfservice_registration_requests", "messages")
|
||||
@@ -0,0 +1,3 @@
|
||||
add_column("selfservice_verification_requests", "messages", "json", {"null": true})
|
||||
add_column("selfservice_login_requests", "messages", "json", {"null": true})
|
||||
add_column("selfservice_registration_requests", "messages", "json", {"null": true})
|
||||
@@ -0,0 +1,2 @@
|
||||
drop_column("selfservice_settings_requests", "state")
|
||||
add_column("selfservice_settings_requests", "update_successful", "bool", {"default": false})
|
||||
@@ -0,0 +1,2 @@
|
||||
add_column("selfservice_settings_requests", "state", "string", {"default": "show_form"})
|
||||
drop_column("selfservice_settings_requests", "update_successful")
|
||||
@@ -0,0 +1 @@
|
||||
rename_column("identities", "schema_id", "traits_schema_id")
|
||||
@@ -0,0 +1 @@
|
||||
rename_column("identities", "traits_schema_id", "schema_id")
|
||||
@@ -0,0 +1,5 @@
|
||||
drop_column("selfservice_login_requests", "type")
|
||||
drop_column("selfservice_registration_requests", "type")
|
||||
drop_column("selfservice_settings_requests", "type")
|
||||
drop_column("selfservice_recovery_requests", "type")
|
||||
drop_column("selfservice_verification_requests", "type")
|
||||
@@ -0,0 +1,5 @@
|
||||
add_column("selfservice_login_requests", "type", "string", {"default": "browser", "size": 16})
|
||||
add_column("selfservice_registration_requests", "type", "string", {"default": "browser", "size": 16})
|
||||
add_column("selfservice_settings_requests", "type", "string", {"default": "browser", "size": 16})
|
||||
add_column("selfservice_recovery_requests", "type", "string", {"default": "browser", "size": 16})
|
||||
add_column("selfservice_verification_requests", "type", "string", {"default": "browser", "size": 16})
|
||||
@@ -0,0 +1,13 @@
|
||||
rename_table("selfservice_login_flows", "selfservice_login_requests")
|
||||
rename_table("selfservice_login_flow_methods", "selfservice_login_request_methods")
|
||||
|
||||
rename_table("selfservice_registration_flow_methods", "selfservice_registration_request_methods")
|
||||
rename_table("selfservice_registration_flows", "selfservice_registration_requests")
|
||||
|
||||
rename_table("selfservice_settings_flow_methods", "selfservice_settings_request_methods")
|
||||
rename_table("selfservice_settings_flows", "selfservice_settings_requests")
|
||||
|
||||
rename_table("selfservice_recovery_flow_methods", "selfservice_recovery_request_methods")
|
||||
rename_table("selfservice_recovery_flows", "selfservice_recovery_requests")
|
||||
|
||||
rename_table("selfservice_verification_flows", "selfservice_verification_requests")
|
||||
@@ -0,0 +1,13 @@
|
||||
rename_table("selfservice_login_request_methods", "selfservice_login_flow_methods")
|
||||
rename_table("selfservice_login_requests", "selfservice_login_flows")
|
||||
|
||||
rename_table("selfservice_registration_request_methods", "selfservice_registration_flow_methods")
|
||||
rename_table("selfservice_registration_requests", "selfservice_registration_flows")
|
||||
|
||||
rename_table("selfservice_settings_request_methods", "selfservice_settings_flow_methods")
|
||||
rename_table("selfservice_settings_requests", "selfservice_settings_flows")
|
||||
|
||||
rename_table("selfservice_recovery_request_methods", "selfservice_recovery_flow_methods")
|
||||
rename_table("selfservice_recovery_requests", "selfservice_recovery_flows")
|
||||
|
||||
rename_table("selfservice_verification_requests", "selfservice_verification_flows")
|
||||
@@ -0,0 +1,7 @@
|
||||
rename_column("selfservice_login_flow_methods", "selfservice_login_flow_id", "selfservice_login_request_id")
|
||||
|
||||
rename_column("selfservice_registration_flow_methods", "selfservice_registration_flow_id", "selfservice_registration_request_id")
|
||||
|
||||
rename_column("selfservice_settings_flow_methods", "selfservice_settings_flow_id", "selfservice_settings_request_id")
|
||||
|
||||
rename_column("selfservice_recovery_flow_methods", "selfservice_recovery_flow_id", "selfservice_recovery_request_id")
|
||||
@@ -0,0 +1,7 @@
|
||||
rename_column("selfservice_login_flow_methods", "selfservice_login_request_id", "selfservice_login_flow_id")
|
||||
|
||||
rename_column("selfservice_registration_flow_methods", "selfservice_registration_request_id", "selfservice_registration_flow_id")
|
||||
|
||||
rename_column("selfservice_recovery_flow_methods", "selfservice_recovery_request_id", "selfservice_recovery_flow_id")
|
||||
|
||||
rename_column("selfservice_settings_flow_methods", "selfservice_settings_request_id", "selfservice_settings_flow_id")
|
||||
@@ -0,0 +1 @@
|
||||
drop_column("sessions", "token")
|
||||
@@ -0,0 +1,7 @@
|
||||
sql("DELETE FROM sessions")
|
||||
|
||||
add_column("sessions", "token", "string", {"size": 32, "null": true})
|
||||
change_column("sessions", "token", "string", {"size": 32, "null": false})
|
||||
|
||||
add_index("sessions", "token", {"unique": true, "name": "sessions_token_uq_idx"})
|
||||
add_index("sessions", "token", {"name": "sessions_token_idx" })
|
||||
@@ -0,0 +1 @@
|
||||
drop_column("sessions", "active")
|
||||
@@ -0,0 +1 @@
|
||||
add_column("sessions", "active", "boolean", {"null": false, "default": false})
|
||||
@@ -0,0 +1 @@
|
||||
rename_column("identity_recovery_tokens", "selfservice_recovery_flow_id", "selfservice_recovery_request_id")
|
||||
@@ -0,0 +1 @@
|
||||
rename_column("identity_recovery_tokens", "selfservice_recovery_request_id", "selfservice_recovery_flow_id")
|
||||
@@ -0,0 +1,16 @@
|
||||
{{ if or .IsPostgreSQL .IsMySQL .IsMariaDB }}
|
||||
add_column("selfservice_verification_flows", "form", "json", { "null": true })
|
||||
sql("UPDATE selfservice_verification_flows SET form=(SELECT * FROM (SELECT m.config FROM selfservice_verification_flows AS r INNER JOIN selfservice_verification_flow_methods AS m ON r.id=m.selfservice_verification_flow_id) as t);")
|
||||
change_column("selfservice_verification_flows", "form", "json", { "null": false })
|
||||
{{ end }}
|
||||
|
||||
{{ if .IsCockroach }}
|
||||
add_column("selfservice_verification_flows", "form", "json", { "default": "{}" })
|
||||
{{ end }}
|
||||
|
||||
drop_table("selfservice_verification_flow_methods")
|
||||
drop_column("selfservice_verification_flows", "active_method")
|
||||
drop_column("selfservice_verification_flows", "state")
|
||||
|
||||
add_column("selfservice_verification_flows", "via", "string", {"size": 16, "default": "email"})
|
||||
add_column("selfservice_verification_flows", "success", "bool", {"default_raw": "FALSE"})
|
||||
@@ -0,0 +1 @@
|
||||
add_column("selfservice_verification_flows", "state", "string", {"default": "show_form"})
|
||||
@@ -0,0 +1 @@
|
||||
sql("UPDATE selfservice_verification_flows SET state='passed_challenge' WHERE success IS TRUE")
|
||||
@@ -0,0 +1,8 @@
|
||||
create_table("selfservice_verification_flow_methods") {
|
||||
t.Column("id", "uuid", {primary: true})
|
||||
t.Column("method", "string", {"size": 32})
|
||||
t.Column("selfservice_verification_flow_id", "uuid")
|
||||
t.Column("config", "json")
|
||||
}
|
||||
|
||||
add_column("selfservice_verification_flows", "active_method", "string", {"size": 32, null: true})
|
||||
@@ -0,0 +1 @@
|
||||
sql("INSERT INTO selfservice_verification_flow_methods (id, method, selfservice_verification_flow_id, config, created_at, updated_at) SELECT id, 'link', id, form, created_at, updated_at FROM selfservice_verification_flows;")
|
||||
@@ -0,0 +1,3 @@
|
||||
drop_column("selfservice_verification_flows", "form")
|
||||
drop_column("selfservice_verification_flows", "via")
|
||||
drop_column("selfservice_verification_flows", "success")
|
||||
@@ -0,0 +1 @@
|
||||
drop_table("identity_verification_tokens")
|
||||
@@ -0,0 +1,21 @@
|
||||
create_table("identity_verification_tokens") {
|
||||
t.Column("id", "uuid", {primary: true})
|
||||
|
||||
t.Column("token", "string", {"size": 64})
|
||||
t.Column("used", "bool", {"default": false})
|
||||
t.Column("used_at", "timestamp", {"null": true})
|
||||
t.Column("expires_at", "timestamp")
|
||||
t.Column("issued_at", "timestamp")
|
||||
|
||||
t.Column("identity_verifiable_address_id", "uuid")
|
||||
t.ForeignKey("identity_verifiable_address_id", {"identity_verifiable_addresses": ["id"]}, {"on_delete": "cascade"})
|
||||
|
||||
t.Column("selfservice_verification_flow_id", "uuid", {"null": true})
|
||||
t.ForeignKey("selfservice_verification_flow_id", {"selfservice_verification_flows": ["id"]}, {"on_delete": "cascade"})
|
||||
}
|
||||
|
||||
add_index("identity_verification_tokens", ["token"], { "unique": true, "name": "identity_verification_tokens_token_uq_idx" })
|
||||
add_index("identity_verification_tokens", ["token"], { "name": "identity_verification_tokens_token_idx" })
|
||||
|
||||
add_index("identity_verification_tokens", ["identity_verifiable_address_id"], { "name": "identity_verification_tokens_verifiable_address_id_idx" })
|
||||
add_index("identity_verification_tokens", ["selfservice_verification_flow_id"], { "name": "identity_verification_tokens_verification_flow_id_idx" })
|
||||
@@ -0,0 +1,4 @@
|
||||
sql("DELETE FROM identity_recovery_tokens WHERE selfservice_recovery_flow_id IS NULL")
|
||||
change_column("identity_recovery_tokens", "selfservice_recovery_flow_id", "uuid")
|
||||
drop_column("identity_recovery_tokens", "expires_at")
|
||||
drop_column("identity_recovery_tokens", "issued_at")
|
||||
@@ -0,0 +1,3 @@
|
||||
add_column("identity_recovery_tokens", "expires_at", "timestamp", { "default": "2000-01-01 00:00:00" })
|
||||
add_column("identity_recovery_tokens", "issued_at", "timestamp", { "default": "2000-01-01 00:00:00" })
|
||||
change_column("identity_recovery_tokens", "selfservice_recovery_flow_id", "uuid", {"null": true})
|
||||
@@ -0,0 +1,28 @@
|
||||
add_column("identity_verifiable_addresses", "code", "string", {"size": 32, "null": true})
|
||||
add_column("identity_verifiable_addresses", "expires_at", "timestamp", { "null": true })
|
||||
|
||||
{{ if .IsSQLite }}
|
||||
sql("UPDATE identity_verifiable_addresses SET code = substr(hex(randomblob(32)), 0, 32) WHERE code IS NULL")
|
||||
sql("UPDATE identity_verifiable_addresses SET expires_at = CURRENT_TIMESTAMP WHERE expires_at IS NULL")
|
||||
{{ end }}
|
||||
|
||||
{{ if or .IsMySQL .IsMariaDB }}
|
||||
sql("UPDATE identity_verifiable_addresses SET code = LEFT(SHA2(RANDOM_BYTES(32), 256), 32) WHERE code IS NULL")
|
||||
sql("UPDATE identity_verifiable_addresses SET expires_at = CURRENT_TIMESTAMP WHERE expires_at IS NULL")
|
||||
{{ end }}
|
||||
|
||||
{{ if .IsPostgreSQL }}
|
||||
sql("UPDATE identity_verifiable_addresses SET code = substr(md5(random()::text), 0, 32) WHERE code IS NULL")
|
||||
sql("UPDATE identity_verifiable_addresses SET expires_at = CURRENT_TIMESTAMP WHERE expires_at IS NULL")
|
||||
{{ end }}
|
||||
|
||||
{{ if .IsCockroach }}
|
||||
sql("UPDATE identity_verifiable_addresses SET code = substr(md5(uuid_v4()), 0, 32) WHERE code IS NULL")
|
||||
sql("UPDATE identity_verifiable_addresses SET expires_at = CURRENT_TIMESTAMP WHERE expires_at IS NULL")
|
||||
{{ end }}
|
||||
|
||||
change_column("identity_verifiable_addresses", "code", "string", {"size": 32})
|
||||
change_column("identity_verifiable_addresses", "expires_at", "timestamp", { "null": false })
|
||||
|
||||
add_index("identity_verifiable_addresses", ["code"], { "unique": true, "name": "identity_verifiable_addresses_code_uq_idx" })
|
||||
add_index("identity_verifiable_addresses", ["code"], { "name": "identity_verifiable_addresses_code_idx" })
|
||||
@@ -0,0 +1,5 @@
|
||||
drop_index("identity_verifiable_addresses", "identity_verifiable_addresses_code_uq_idx")
|
||||
drop_index("identity_verifiable_addresses", "identity_verifiable_addresses_code_idx")
|
||||
|
||||
drop_column("identity_verifiable_addresses", "code")
|
||||
drop_column("identity_verifiable_addresses", "expires_at")
|
||||
@@ -0,0 +1 @@
|
||||
sql("DELETE FROM identity_credential_types WHERE name = 'password' OR name = 'oidc'")
|
||||
@@ -0,0 +1,3 @@
|
||||
sql("INSERT INTO identity_credential_types (id, name) SELECT '78c1b41d-8341-4507-aa60-aff1d4369670', 'password' WHERE NOT EXISTS ( SELECT * FROM identity_credential_types WHERE name = 'password')")
|
||||
sql("INSERT INTO identity_credential_types (id, name) SELECT '6fa5e2e0-bfce-4631-b62b-cf2b0252b289', 'oidc' WHERE NOT EXISTS ( SELECT * FROM identity_credential_types WHERE name = 'oidc')")
|
||||
|
||||
Reference in New Issue
Block a user