Manual Installation
Create
mochi.crin initalizers and paste this in:require "mochi"Create a migration and paste in:
Granite:
```sql -- +micrate Up CREATE TABLE users ( id INTEGER NOT NULL PRIMARY KEY, email VARCHAR, password_digest VARCHAR, created_at TIMESTAMP, updated_at TIMESTAMP );
-- +micrate Down
DROP TABLE IF EXISTS users;
```
or
**Jennifer:**
```crystal
class CreateUser < Jennifer::Migration::Base
def up
create_table(:users) do |t|
t.string :email
t.string :password_digest
t.timestamp :created_at
t.timestamp :updated_at
end
end
def down
drop_table(:users)
end
end
```Migrate:
Granite:
amber db migrateor
Jennifer:
crystal sam.cr -- db:migrateCreate a controller titled
user_controller.crand paste in this file:Create a controller titled
session_controller.crand paste in this file:Add these to your routes:
Change
pipeline :webtopipeline :web, :authand add:plug CurrentUser.newCreate an
:authpipeline with:pipeline :auth do plug Authenticate.new endCreate a new route section just for
:auth:routes :auth do get "/profile", UserController, :show get "/profile/edit", UserController, :edit patch "/profile", UserController, :update get "/signout", SessionController, :delete endAdd this to your
:webroutes:get "/signin", SessionController, :new post "/session", SessionController, :create get "/signup", UserController, :new post "/registration", UserController, :createCreate a piple titled
authenticate.crand paste in this file:Copy & Paste all the views found here:
Open
config/application.crand between the# Start Generator&# End Generatoradd:require "../src/models/**" require "../src/pipes/**"Open
application_controller.crand add:def current_user context.current_user endDone! And that's why we have a CLI.
Last updated
Was this helpful?