From 889b2af0dce4ac8783c3159224705d812a81d92a Mon Sep 17 00:00:00 2001 From: woolsox Date: Fri, 22 Nov 2019 13:41:12 -0500 Subject: [PATCH 1/2] Installs rails-erd to auto update on migrations --- lib/tasks/auto_generate_diagram.rake | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 lib/tasks/auto_generate_diagram.rake diff --git a/lib/tasks/auto_generate_diagram.rake b/lib/tasks/auto_generate_diagram.rake new file mode 100644 index 0000000..1df0696 --- /dev/null +++ b/lib/tasks/auto_generate_diagram.rake @@ -0,0 +1,6 @@ +# NOTE: only doing this in development as some production environments (Heroku) +# NOTE: are sensitive to local FS writes, and besides -- it's just not proper +# NOTE: to have a dev-mode tool do its thing in production. +if Rails.env.development? + RailsERD.load_tasks +end From ad346d180e026ed8e9c14c132891cbd678e4e782 Mon Sep 17 00:00:00 2001 From: woolsox Date: Fri, 22 Nov 2019 15:34:01 -0500 Subject: [PATCH 2/2] Add link to PDF in README --- .gitignore | 1 - ER_Model.pdf | Bin 0 -> 27035 bytes README.md | 6 ++++++ 3 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 ER_Model.pdf diff --git a/.gitignore b/.gitignore index f6d6962..db1065d 100644 --- a/.gitignore +++ b/.gitignore @@ -12,7 +12,6 @@ /public/docs /tmp/* /yarn-error.log -ER_Model.pdf spec/rspec_examples.txt .env diff --git a/ER_Model.pdf b/ER_Model.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ea0cbd2aae0714b164ea2126c0e0842fd8c916dd GIT binary patch literal 27035 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

kyE|Aqr0O6D5Z`7KVNr~a76!P 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 Fe*oVwcX9v# literal 0 HcmV?d00001 diff --git a/README.md b/README.md index e1d1832..fbab2c2 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,11 @@ # Racxob +## ERD + +(Below is an example PDF - it will auto update as you migrate - delete this comment!) + +View PROJECT_NAME ERD [here](./ER_Model.pdf) + ## Usage (be sure to replace PROJECT_NAME with your project name)