Creare una struttura ad albero

rails g scaffold Branches parent_id: position:integer note:references

rails g scaffold Link




Flowpulse (la struttura)
business 
link business note
├── Contenuti o note
├── Tree
├── Tag
├── Vettori 

│   ├── Libri ebook
│   ├── Corsi online in autonomia
│   ├── Corsi in gruppo
│   ├── Percorsi in gruppo
operatori
ruoli 
centri accreditati
servizi 
prezzi 
professionisti accreditati
formazione





1impegno
└── users
     ├── sessions
     └── profiles 
          ├── tasks
          │     └── invites
          │            └── transactions
          ├──  contacts
          └── locations




Posturacorretta

├── Blog 
├── Risorse
│    ├── Professionisti tipo 
│    │    ├── della salute Stop al dolore | cura  | riabilitazione
│    │    ├── benessere Integrato
│    │    │    ├── Benessere Discipline Bionaturali
│    │    │    └── cura del corpo
│    │    └── Posturacorretta educazione alla salute con la postura operatori posturacorretta
│    ├── Professioni
│    ├── Metodiche
│    ├── Servizi
│    ├── Prodotti
│    ├── Professionista
│    └── Centri
├── Prenotazioni | Professionista Tipo Professioni |Metodiche |Servizi |Professionista |centro 
├── Corsi
│    ├── Patologia
│    │     ├── Mal di schiena
│    ├── Attività svolta categoria professionale
│    │     ├── Prepararsi al Paddel
│    └── Percorso postura e fisiologia
│          ├── Area 1 Recupero e terapie manuali coscienza corporea
│          │     ├── Igiene posturale ecc.
│          │     │    ├── Introduzione
│          ├── Area 2 Allenamento e movimento
│          ├── Area 3 Emotivo e Mentale energetico
│          ├── Area 4 Piante officinali Integratori e Farmaci
│          └── Area 5 Nutrire 
|
└── Percorso personalizzato   
    ├── Stop al dolore
    │    ├── Upselling Corso per la fase acuta
    │    ├── Presa in carico professionista salute
    │    │     └── Diagnosi
    │    │            └── Soluzione per la fase acuta
    │    └── Valutazione sintomi approfondita
    │         └──  Sistemi compromessi 
    │                └── Programma personalizzato
    ├── Diario della salute
    ├── Benessere Integrato
    │    └── Stato di salute
    │         └── Aree della salute
    │              └── Percorso integrato professionisti
    │                   └── Scegli professionista con servizi e programmi
    └── Upselling Percorso Postura e fisiologia
      



MarkPostura
├── Blog
├── Business
│   ├── Posturacorretta
│   ├── Giardino del corpo
│   ├── Rils 4 business ecc..
Ecc.


Atman (Sé supremo)
├── Koshas (Gusci dell'essere)
│   ├── Annamaya Kosha (Corpo fisico)
│   ├── Pranamaya Kosha (Corpo energetico o della prana)
│   ├── Manomaya Kosha (Corpo mentale)
│   ├── Vijnanamaya Kosha (Corpo dell'intelletto o discernimento)
│   └── Anandamaya Kosha (Corpo della beatitudine)
└── Karana (Strumenti)
    ├── Antahkarana (Organo interno della mente)
    │   ├── Manas (Mente sensoriale)
    │   ├── Buddhi (Intelletto)
    │   ├── Chitta (Memoria)
    │   └── Ahankara (Ego)
    └── Bahiranga Karana (Organi esterni)
        ├── Organi sensoriali (Vista, Udito, Olfatto, Gusto, Tatto)
        └── Organi motori (Strutture per l'azione fisica)

        Tao (Principio Supremo)
├─ Wu Xing (Cinque Movimenti o Elementi)
│ ├─ Legno (Fegato – Cistifellea)
│ ├─ Fuoco (Cuore – Intestino Tenue)
│ ├─ Terra (Milza – Stomaco)
│ ├─ Metallo (Polmoni – Intestino Crasso)
│ └─ Acqua (Reni – Vescica)
│
├─ San Bao (Tre Tesori – Fondamenti della Vita)
│ ├─ Jing (Essenza vitale) – Base materiale della vita, energia ereditaria e rigenerativa
│ ├─ Qi (Energia vitale) – Flusso vitale che anima il corpo e la mente
│ └─ Shen (Spirito) – Consapevolezza, coscienza, emozioni, connessione con il divino
│
├─ San Jiao (Tre Riscaldatori – Divisioni energetiche del corpo)
│ ├─ Jiao Superiore (Cuore e Polmoni – Distribuzione del Qi e del Sangue)
│ ├─ Jiao Medio (Milza e Stomaco – Digestione e trasformazione dell’energia)
│ └─ Jiao Inferiore (Reni, Vescica, Intestino – Eliminazione e riproduzione)
│
└─ Shen (Organi Zang) e Fu (Organi Fu)
├─ Organi Zang (Yin – Produzione e conservazione dell’energia vitale)
│ ├─ Fegato (Hun – Spirito etereo)
│ ├─ Cuore (Shen – Mente e coscienza)
│ ├─ Milza (Yi – Pensiero e concentrazione)
│ ├─ Polmoni (Po – Anima corporea, istinti)
│ └─ Reni (Zhi – Volontà e determinazione)
│
└─ Organi Fu (Yang – Trasformazione e trasporto dell’energia)
├─ Cistifellea
├─ Intestino Tenue
├─ Stomaco
├─ Intestino Crasso
├─ Vescica
└─ San Jiao (Triplice Riscaldatore – Regolazione energetica)

Struttura del video: 

Modello di conoscenza dell'essere umano: Modello sensazione pensiero sentimento Intuito
- Cosa dice il modello 
    - 1 sensazione organi di senso e pnl (Visivo auditivo e cinestetico che riassume tatto gusto olfatto e considera anche la propriocezione)
    - 2 pensiero
    - 3 Sentimento
    - 4 Intuito
- Modelli di dati
  - vettoriale
  - albero
  - rete
  - tag categorie
- Rapporto con fisiologia e postura
    - Cosa dice il modello del movimento preso dal modello corpo e coscienza 
        - 1 Spontaneo 
        - 2 Controllato riflessi
        - 3 Espressivo
        - 4 Istintivo arcaico
    - Rappresentazione delle strutture anatomiche interessate 
      - Sna afferente efferente Percepire 
      - Snc
      - Snavegetativo 
      - Snaenterico

- Mark Postura App Landing Page

  - Il giardino del corpo
    - Soppravvivenza | Salute #2bff00
      -  Salute #0091ff
        - Diario della salute 
          - produttività in autonomia
          - servizi professionisti
        - Stato di salute 
        - Stop al Dolore @programma 
          - Richiesta Problema Cliente @todo 
          - Tutor Proposta soluzione @service 
          - Scelta specialista / specialisti repsonsabili @todo
            - Valutazione e diagnosi specialista @service
            - Creazione percorso per uscire dalla fase acuta. @service
              - Diario Salute @event   
          - Patologie  
            - Corsi con suggerimenti per gestire la fase acuta in alcune patologie #000000
              - Scelta corsi dai contenuti
            - Valutazione BenessereIntegrato per lo stato di salute 
            - Valutazione PosturaCorretta per capire le cause del dolore e i sistemi colpiti
  
        - Benessere Integrato #4dd912
          - Valutazione del tuo stato di salute 
            - chiocciola della salute #000000
            - Aree della slaute
          - Attività Percorso Integrato con i Professionisti #3cf609
            - Consulenza / Servizio professionista b.i. #000000
          - Attività per la salute in autonomia #07641e
        - Postura Corretta #0062ff
          
          - Percorso Personalizzato #4ba2b4
            - Valutazione PosturaCorretta
              - Globale approfondita per spiegare le cause del problema #c9c9c9
                - Stato dei sistemi
                - Biomeccanica Comportamentale gds 
                - Corpo e coscienza

            - Proposta Programma
              - Obiettivi
              - Programma settimanale
                - Sedute individuali @diario_salute
                  - Scheda seduta trattamento 
                    - (contenuti posturacorretta o altri)
                      - Standard
                      - Personalizzato #635f6d
                - Sedute in Gruppo @diario_salute
                  - (posturacorretta o altri)
                - Sedute autonomia @diario_salute
                  - Scheda autonomia con gli esercizi (Meccanismo fisiologico proposta) 
                    - Esercizio (spiegazione meccanismo fisiologico)
                

              
            
          - Contenuti PosturaCorretta
            - Piattaforma
            - Percorso Standard Postura e Fisiologia #8599ff
              - Recupero Terapie Manuali e Tecniche Corporee, Coscienza corporea #1997e6
                - Igiene posturale
                  - Mobilità articolare #000000
                  - Alleggerisci le tensioni da spalle e collo #000000
                  - Riequilibria le 3 vie di discesa #000000
                  - Riattiva i tuoi recettori e il tuo schema corporeo #000000
                - Principi di fisioterapia Esercizi Base per #ffffff
                  - il Sistema Respiratorio #000000
                  - il sistema nervoso #000000
                  - il sistema muscolo scheletrico #000000
                  - il sistema Cardiocircolatorio #000000
                  - l'apparato linfatico e il sistema digerente #000000
                - Principi di osteopatia #000000
                - Introduzione alla Biomeccanica Comportamentale #000000
                - Introduzione alla chinesiologia #000000
                - Altre metodiche posturali #000000
              - Movimento e Allenamento #5a04fb
                - Danza Ballo #000000
                - Lotta #000000
                - Movimento Arcaico #000000
              - Consapevolezza: Pensieri Emozioni e ascolto per la percezione del sistema Energetico #000000
              - Alimentare e Nutrire i corpi #000000
              - Piante Officinali, Integratori, Farmaci, e la medicina dei semplici #000000
            - Scheda trattamento Uki -> Tori  Obiettivo | spiegazione fisiologica sistemi | tecnica
            - Schede lavori in gruppo 
            - Scheda Esercizi in autonomia 
            - Corsi Stop al dolore Patologie
            - Canale Youtube 
          - Contenuti benessere_integrato
            - Professioni
            - Metodiche scuole
    
        - 1impegno.it  https://chatgpt.com/share/67c19d4e-eba0-8002-871e-7ea300de0d88
        - Risorse
          - Tempo energia attenzione
        - Antichi Mestieri riconquista la sovranità dell'ambiente in cui vivi #000000
        - Interrelazione | Soldi #ff0000
        - Le 4 arti dell'armonia #ff6161
        - Canta che ti passa Musica #000000
        - Gioco e strategia #000000
        - la Poesia Calligrafia #000000
        - Il disegno e la pittura #000000
        - Viaggi Tradizione e Culture #000000
        - Rails4business Come realizzare i progetti 
          - Componenti Business Attività #000000
          - Formazione #a2ad00
          
          - Informatica e Tecnologica #000000
          - Business #000000
          - Eventi Presentazione #d6c400
          - Progetti #000000
          - Servizi #000000
        - Flowpulse struttura progetti  - https://chatgpt.com/share/67c19d4e-eba0-8002-871e-7ea300de0d88
          - Pagamenti e servizi business
          - Note
          - Mapspath
       
      - Differenziazione | Formazione #0062ff
        Esperienze Teatrali, La sapienza dell'uso della voce delle parole e delle storie #000000
        Voce Pensare
        Il discorso perfetto
        storie parole ecc 
        Pensare Come Leonardo alla scoperta delle capacità cognitive umane #000000
        Inside Advernture Incontri con i maestri #000000
        - Conoscere come funzioni #ffffff
        - Scoprire i tuoi talenti #000000
        - Come funzionano ruoli e gruppi #000000


Con flowpulse realizziamo un:

Sarebbe da valutare:

Come si crea un app per analisi semantica vettorializzare

Vettorializzare contenuti

  • Risposta Semantica pgvector

  • Questo è lato server poi si possono Controllare e costruire i diversi business

  • Implementando un Bot whats app

1️⃣ Creazione del progetto Rails 8

App rails con Daisy UI

rails new flowpulse -d postgresql
cd flowpulse

1️⃣ Tailwindcss

Tailwwindcss 4

./bin/bundle add tailwindcss-ruby
./bin/bundle add tailwindcss-rails
./bin/rails tailwindcss:install

DaisyUI

This method is recommended if you are not using Node.js. This works as a Tailwind CSS plugin so only the class names you need will be added to your CSS file.

Run this code to download latest verison of daisyUI as a single js file

curl -sLo app/assets/tailwind/daisyui.js https://esm.run/daisyui@5/index.js

app/assets/tailwind/application.css

@import "tailwindcss";
@plugin "./daisyui.js";

1️⃣ Pages Home

rails g controller Pages home

“2” Authentication

  • https://guides.rubyonrails.org/getting_started.html#adding-authentication
rails g authentication
User.create(email_address: "mario@mario.it", password: "123456")

“3” Create Branchs

rails g scaffold Branch user:references name parent_id:integer position:integer 

“3” Helper per trovare la root

branchs_helper.rb

def root_id(id)
  branch = Branch.find(id)

  array_ancestry_id =  []
  if !branch.parent_id.nil? && branch.parent_id != 0
    until branch.parent_id.nil?
      branch = Branch.find(branch.parent_id)
      array_ancestry_id <<  branch.id
    end
    
  end
  array_ancestry_id

end

_ancestry.html.ern

<div class="lg:w-64 bg-base-100 flex shrink-0 flex-col items-center gap-4 p-6 pb-20 md:sticky md:top-16 md:h-[calc(100vh-4rem)] md:items-start md:overflow-y-scroll lg:items-stretch max-md:hidden">
  <ul class="timeline timeline-vertical timeline-compact">
    <% lista_ancestry_ids = ancestry_ids(@branch.id) %>
    <% lista_ancestry_ids.each_with_index do |id, index|%>
      <% branch = Branch.find(id)%>
      <li>
        <% if index != 0 %>
          <hr class="bg-primary">
        <% end%>
        <div class="timeline-middle"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="h-5 w-5 text-primary"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z" clip-rule="evenodd"></path></svg></div>
        <%= link_to branch, class:"timeline-end timeline-box" do %>
          <%= branch.name %>
        <% end %>
        <%# if (index + 1) != (lista_ancestry_ids).count  %>
        <hr class="bg-primary">
        <%# end %>
      </li>
    <% end %>
    <li>
      <% if lista_ancestry_ids.count != 0 %>
        <hr class="bg-primary">
      <% end %>
      <div class="timeline-middle"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="h-5 w-5"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z" clip-rule="evenodd"></path></svg></div>
      <%= link_to @branch, class:"timeline-end timeline-box" do %>
        <%= @branch.name %>
      <% end %>
    </li>
    <!--li><hr class="bg-primary">
      <div class="timeline-middle"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="h-5 w-5 text-primary"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z" clip-rule="evenodd"></path></svg></div>
      <div class="timeline-end timeline-box">Harry Potter and Chamber of Servers</div>
      <hr class="bg-primary"></!--li>
    <li><hr class="bg-primary">
      <div class="timeline-middle"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="h-5 w-5 text-primary"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z" clip-rule="evenodd"></path></svg></div>
      <div class="timeline-end timeline-box">Harry Potter and Prisoner of Azure</div>
      <hr class="bg-primary"></li>
    <li><hr class="bg-primary">
      <div class="timeline-middle"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="h-5 w-5 text-primary"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z" clip-rule="evenodd"></path></svg></div>
      <div class="timeline-end timeline-box">Harry Potter and Goblet of Firebase</div>
      <hr></li>
    <li><hr>
      <div class="timeline-middle"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="h-5 w-5"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z" clip-rule="evenodd"></path></svg></div>
      <div class="timeline-end timeline-box">Harry Potter and Elixir of Phoenix</div>
      <hr></li>
    <li><hr>
      <div class="timeline-middle"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="h-5 w-5"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z" clip-rule="evenodd"></path></svg></div>
      <div class="timeline-end timeline-box">Harry Potter and Half-Deployed App</div>
      <hr></li>
    <li><hr>
      <div class="timeline-middle"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="h-5 w-5"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z" clip-rule="evenodd"></path></svg></div>
      <div class="timeline-end timeline-box">Harry Potter and Deathly Frameworks</div>
    </li -->
  </ul>
</div>

_children.html.ern

<div class="ml-4 flex-grow p-2">
  <% Current.user.branchs.where(parent_id: parent.id).each_with_index do |child, index| %>
    <div class="collapse border border-base-300 bg-base-100 m-2">
      <input type="checkbox" id="collapse-<%= index %>" class="peer" />
      <div class="collapse-title bg-primary text-primary-content peer-checked:bg-secondary peer-checked:text-secondary-content">
        <%= child.name %>
      </div>
      <div class="collapse-content bg-primary text-primary-content peer-checked:bg-secondary peer-checked:text-secondary-content">
        <%= render "children", parent: child %>
        <!-- Nested Collapse -->
      </div>
    </div>
  <% end %>
</div>

_button.html.erb


tree.html.erb




gem ‘acts_as_list’

branch.rb

class Branch < ApplicationRecord
  belongs_to :user
  acts_as_list scope: :parent

  has_many :children, class_name: "Branch", foreign_key: "parent_id", dependent: :destroy
  belongs_to :parent, class_name: "Branch", optional: true

  validates :name, presence: true
  validate :no_cyclic_parent

  def ancestors
    node, nodes = self, []
    while node.parent
      return [] if nodes.include?(node.parent) # Evita loop infiniti
      nodes << node.parent
      node = node.parent
    end
    nodes
  end

  def descendants
    children.map { |child| [child] + child.descendants }.flatten
  end

  # Trova la radice (root) di un nodo
  def root
    node = self
    node = node.parent while node.parent
    node
  end

  # Verifica se il branch è la radice
  def root?
    parent.nil?
  end

  private

  def no_cyclic_parent
    if ancestors.include?(self)
      errors.add(:parent_id, "creerebbe un ciclo nella gerarchia")
    end
  end
end

Note

rails g scaffold Note user:references branch:references title description content:text visibility:integer data_pubblicazione:datetime stato:integer 

note.rb

enum :visibility, { privato: 0, iscritti: 1, pubblico: 2 }

enum :stato, { bozza: 0, revisione: 1, pubblicato: 2 }

EasyMDE

application.html.erb

  <link
      rel="stylesheet"
      href="https://cdn.jsdelivr.net/npm/easymde/dist/easymde.min.css"
    />
    <script src="https://cdn.jsdelivr.net/npm/easymde/dist/easymde.min.js"></script>

Calcolo indice

<% numerazione = [] %>

<% numerazione << (index + 1) %>

rails g scaffold Business branch:reference nome url provider scadenza_url note:text 

Project breadcrumb Programma -> Scheda -> Esercizio

Flowpulse potrebbe essere

  • business
  • corsi schede
  • eventi attività

Le note devono essere messe ad albero nestate ricorsive così possono andare a livelli infiniti.

Le note si stratificano con il parent_id e il child_id è usato nel caso voglia collegarmi a un albero o a un ramo esterno perciò il child_id interrompe l’albero mettendo in link alla risorsa e aprendone un altra

Service name price:decimal profile:references note:references

Contact profile:references riferiot_a_profile_id:integer nome cognome email data_nascita luogo_nascita tel link_social

Ogni contact ha i Datifiscal contact:references Event profile:references service:references note:references event_type:[slot_prenotazione, gruppo, invito] parent_id:integer contact:references accettato_profile_id:references data_accettazione:datetime

Gli eventi possono essere di 3 tipi:

  • Slot prenotabili
  • Gruppo il primo evento che ha sotto altri eventi
  • Invito un evento in cui si invita l’altra persona o a cui si chiede di accedere

Transacion event:references note value:float valuta:euro/dash data from_contact_id to_contact_id service:references mi creeresti il prompt migliore da salvare in un file md con gli step e poi da inserire qui per creare l’applicazione passo passo con gli scaffold dall viste ai model controller helper ai test? considerando il file .cursor.sh mi salvi il file in REcommand.md

Comandi per la creazione dell’app FlowPulse Profile

Per creare l’app FlowPulse Profile, segui i passaggi qui sotto:

1️⃣ Creare una nuova app Rails con PostgreSQL:

rails new flowpulse_component -d postgresql

2️⃣ Aggiungere e installare il gemma CSS Zero per il layout minimalista:

3️⃣ Generare l’autenticazione per l’app (con Rails Authentication):

rails g authentication

4️⃣ Creare un utente di esempio (con email e password):

User.create(email_address: "mario@mario.it", password: "123456")

5️⃣ Generare il modello “Profile” per memorizzare i dati utente:

rails g scaffold Profile user:references username:string descriptions:text avatar_img_url:string visibility:integer

3. Creazione dello scafold Note con Struttura ad Albero

il campo child_id è un link che collega altri punti o altre note e se una nota ha @note.id: 2 @note.child_id: 1 es non possono esserci altre_note.parent_id: 2

crea una pagina Dashboard progetti dove vedo le note senza parent_id

gem ‘acts_as_list’ gem ‘ancestry’

rails g migration add_ancestry_to_notes ancestry:string:index

# app/models/note.rb
class Note < ApplicationRecord
  belongs_to :profile
  has_many :businesses
  has_many :services
  has_many :events
  has_many :transactions
  
  acts_as_list
  
  # Relazioni per la struttura ad albero
  belongs_to :parent, class_name: "Note", optional: true
  has_many :children, class_name: "Note", foreign_key: "parent_id", dependent: :destroy
  
  # Relazione per il collegamento esterno
  belongs_to :child, class_name: "Note", optional: true
  
  # Validazioni
  validates :nome, presence: true
end

4. Creazione del Modello Business

# Genera il modello Business
rails g model Business nome:string note:references url:string
rails db:migrate

5. Creazione del Modello Service

# Genera il modello Service
rails g model Service name:string price:decimal profile:references note:references
rails db:migrate

Table of contents