<FromGitter>
<nsuchy> @elorest You could still add a console that compiles before running right?
<FromGitter>
<nsuchy> Similar to the crystal play command?
<FromGitter>
<elorest> @nsuchy yes. That is exactly what amber exec is.
<FromGitter>
<nsuchy> @elorest Add a web interface for it?
<FromGitter>
<nsuchy> so we don't have to write code in vim
<FromGitter>
<nsuchy> :P
<FromGitter>
<drujensen> You can use crystal play
<FromGitter>
<nsuchy> can it pull in amber?
<FromGitter>
<elorest> @nsuchy You could write code in whatever your default editor is which is objectively easier than writing code in a browser...
<FromGitter>
<elorest> Although you really should be using vim lol. 😉
<FromGitter>
<drujensen> Require config/** I think will load Amber encironment
<FromGitter>
<elorest> Whatever it is in `amber exec` at least. Depending on what crystal play considers it's root path to be. ⏎ ⏎ This isn't a great solution though as crystal play executes your code continously whenever you finish typing a line.
<FromGitter>
<elorest> amber exec comes from `cry` which is also what lucky framework uses. It's really the best solution for a compiled language like crystal. Even in Ruby the edit command in pry is way easier to use than typing everything in line by line.
<FromGitter>
<bendangelo> I got amber deployed on dokku, it was quite simple. I can open a PR to document how to do it
<FromGitter>
<bendangelo> The issue with exec is it exits after the first command, you know it's not as intuitive as irb
<FromGitter>
<nsuchy> It's more of just a lazyness thing wanting an inbrowser console :P
<FromGitter>
<nsuchy> @bendangelo sounds awesome, would be helpful for those using dokku
<FromGitter>
<nsuchy> We open sourced our Docker & Shards Configuration based on Debian Stable for those interested https://github.com/ulayer/DockerCrystalAmber, we removed the built-in postgres server as we have a central server with all databases and disabled auto migrate in favor of manual hands on migrations. It includes hash checking to make sure the file hasn't somehow changed since we last reviewed Amber and a Crystal version :) ⏎
<FromGitter>
... ⏎ Would appreciate any feedback the community has.
<FromGitter>
<didactic-drunk> Does anyone use sqlite with Jennifer?
<FromGitter>
<elorest> I think most people use granite. We've done some work on supporting other ORM's but they often change or are abandoned.
<FromGitter>
<didactic-drunk> Does granite have database agnostic migrations?
<FromGitter>
<Blacksmoke16> kinda but not really documented, plus depends on what you need your migrations to do
<FromGitter>
<Blacksmoke16> mainly just used for specs atm
<FromGitter>
<didactic-drunk> Mostly sqlite add/remove column which doesn't have native support.
<FromGitter>
<bendangelo> I just learned the one liner `User.create!(email:"..", password:"..")` doesn't save the password
<FromGitter>
<Blacksmoke16> is there an exception?
<FromGitter>
<Blacksmoke16> because it should raise if there is
<FromGitter>
<bendangelo> no there isn't
<FromGitter>
<bendangelo> I checked after and the password is empty
<FromGitter>
<bendangelo> it's an issue with granite right?
<FromGitter>
<Blacksmoke16> what happens if you do like
<FromGitter>
<Blacksmoke16> er whats your model look like
<FromGitter>
<bendangelo> The email is there, the password is empty. I generated the user model from amber auth
<FromGitter>
<Blacksmoke16> are you sure there isnt something catching your exception?
<FromGitter>
<Blacksmoke16> you dont have a `password` column
<FromGitter>
<Blacksmoke16> so obs that wouldnt get set?
<FromGitter>
<elorest> I'd suggest not using 0.31.1 with amber yet. There are countless breaking changes to everything from specs, integer division, to simple things like handler flow.
<FromGitter>
<bendangelo> ok
<FromGitter>
<bendangelo> I assumed the password param would use `password=`
<FromGitter>
<bendangelo> What version are you using? Yeah it looks like crystal is still under heavy development.
<FromGitter>
<Blacksmoke16> you should prob use an before_save callback
<FromGitter>
<Blacksmoke16> because it sets the ivars directly