github.com/icyphox/x@v0.0.355-0.20220311094250-029bd783e8b8/popx/stub/migrations/source/20191100000001_identities.up.fizz (about) 1 create_table("identities") { 2 t.Column("id", "uuid", {primary: true}) 3 t.Column("traits_schema_id", "string", {"size": 2048}) 4 t.Column("traits", "json") 5 } 6 7 create_table("identity_credential_types") { 8 t.Column("id", "uuid", {primary: true}) 9 t.Column("name", "string", { "size": 32 }) 10 11 t.DisableTimestamps() 12 } 13 14 add_index("identity_credential_types", "name", {"unique": true}) 15 16 create_table("identity_credentials") { 17 t.Column("id", "uuid", {primary: true}) 18 t.Column("config", "json") 19 20 t.Column("identity_credential_type_id", "uuid") 21 t.Column("identity_id", "uuid") 22 23 t.ForeignKey("identity_id", {"identities": ["id"]}, {"on_delete": "cascade"}) 24 t.ForeignKey("identity_credential_type_id", {"identity_credential_types": ["id"]}, {"on_delete": "cascade"}) 25 } 26 27 create_table("identity_credential_identifiers") { 28 t.Column("id", "uuid", {primary: true}) 29 t.Column("identifier", "string", {"size": 255}) 30 t.Column("identity_credential_id", "uuid") 31 t.ForeignKey("identity_credential_id", {"identity_credentials": ["id"]}, {"on_delete": "cascade"}) 32 } 33 34 add_index("identity_credential_identifiers", "identifier", {"unique": true})