localtower
localtower copied to clipboard
The first UI to manage your Rails DB migrations.
Intro
Update in 2022, please use localtower version >= 0.4.1
See installation process below.
Compatibility:
- Rails >= 5.2
- Ruby >= 2.3
See the schema
Create a model
Create a many to many relation
Create a migration
Using the Capture plugin
INSTALL
Only tested with Rails 4.2 and Rails 5.1 (should work with any Rails 4.2+ application). Only tested with PostgreSQL.
Add to your Gemfile
file:
group :development do
gem "localtower", ">= 0.4.1"
end
If you want the latest master branch, add to your Gemfile
file following:
group :development do
gem "localtower", github: "damln/localtower"
end
Run command in your terminal:
bundle install
Add to your config/routes.rb
:
MyApp::Application.routes.draw do
if Rails.env.development? and defined?(Localtower)
mount Localtower::Engine, at: "localtower"
end
# Your other routes here:
# ...
end
Usage
Open your browser at http://localhost:3000/localtower.
Logger Usage (Capture plugin)
You can put this line anywhere in your code:
Localtower::Plugins::Capture.new(self, binding).save
For example:
def my_method
user = User.find(1)
some_data = {foo: "bar"}
Localtower::Plugins::Capture.new(self, binding).save
end
Then go to the Localtower intercave here: http://localhost:3000/localtower/logs and you will see the variables user
and some_data
in the UI.
Notes for the Capture plugin:
The value for each variable will try to call .to_json
. If you have a huge collection of models likes @users
you will see all the collection as an Array.
Run test
If you want to contribute to the gem:
Create a spec/dummy/.env
file with the credentials to your PostgreSQL Database. It should look like this:
LOCALTOWER_PG_USERNAME="admin"
LOCALTOWER_PG_PASSWORD="root_or_smething"
Run the spec:
bundle install
bundle exec rspec spec/
Contribute
Thanks for reporting issues, I'll do my best 💪
Deploy
Only for official contributors.
rm *.gem | gem build localtower.gemspec && gem push localtower-*.gem
Notes
Do not hesitate to open issues if you have troubles using the gem.
- By Damian Le Nouaille Diez: https://damln.com
- Link on RubyGems: https://rubygems.org/gems/localtower