Bring simple signup flow from the fizzy-saas gem

We skip the QB code and we fill external account ids automatically on creation with a sequence

See:
https://github.com/basecamp/fizzy-saas/pull/7
This commit is contained in:
Jorge Manrubia
2025-11-27 12:57:36 +01:00
parent 2061ab4ab2
commit 4e09352c09
19 changed files with 443 additions and 34 deletions
@@ -1,6 +1,6 @@
class CreateAccountExternalIdSequences < ActiveRecord::Migration[8.0]
def change
create_table :account_external_id_sequences do |t|
create_table :account_external_id_sequences, id: :uuid do |t|
t.bigint :value, null: false, default: 0
t.index :value, unique: true
Generated
+6 -1
View File
@@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema[8.2].define(version: 2025_11_25_130010) do
ActiveRecord::Schema[8.2].define(version: 2025_11_27_000001) do
create_table "accesses", id: :uuid, charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t|
t.datetime "accessed_at"
t.uuid "account_id", null: false
@@ -25,6 +25,11 @@ ActiveRecord::Schema[8.2].define(version: 2025_11_25_130010) do
t.index ["user_id"], name: "index_accesses_on_user_id"
end
create_table "account_external_id_sequences", id: :uuid, charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t|
t.bigint "value", default: 0, null: false
t.index ["value"], name: "index_account_external_id_sequences_on_value", unique: true
end
create_table "account_join_codes", id: :uuid, charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t|
t.uuid "account_id", null: false
t.string "code", null: false
+1 -1
View File
@@ -25,7 +25,7 @@ ActiveRecord::Schema[8.2].define(version: 2025_11_27_000001) do
t.index ["user_id"], name: "index_accesses_on_user_id"
end
create_table "account_external_id_sequences", force: :cascade do |t|
create_table "account_external_id_sequences", id: :uuid, force: :cascade do |t|
t.bigint "value", default: 0, null: false
t.index ["value"], name: "index_account_external_id_sequences_on_value", unique: true
end