Skip to content

Instantly share code, notes, and snippets.

View mokxter's full-sized avatar
:shipit:
Ship

Ian Cristopher Buena mokxter

:shipit:
Ship
View GitHub Profile
@mokxter
mokxter / Knex-Migrations-Seeding.md
Created January 31, 2021 11:09 — forked from NigelEarle/Knex-Migrations-Seeding.md
Migration and seeding instructions using Knex.js!

Migrations & Seeding

What are migrations??

Migrations are a way to make database changes or updates, like creating or dropping tables, as well as updating a table with new columns with constraints via generated scripts. We can build these scripts via the command line using knex command line tool.

To learn more about migrations, check out this article on the different types of database migrations!

Creating/Dropping Tables

Dropping Migration Table, Models, Controller

Command Line

1. Drop Table/Migration

rails generate migration DropTablename

A file will be created, in the db > migrate folder, make sure it looks like:

@mokxter
mokxter / Dockerfile
Created March 26, 2020 10:16 — forked from siklodi-mariusz/Dockerfile
Dockerfile example for Ruby on Rails running on Alpine Linux
FROM ruby:2.4-alpine3.7
# Install dependencies:
# - build-base: To ensure certain gems can be compiled
# - nodejs: Compile assets
# - postgresql-dev postgresql-client: Communicate with postgres through the postgres gem
# - libxslt-dev libxml2-dev: Nokogiri native dependencies
# - imagemagick: for image processing
RUN apk --update add build-base nodejs tzdata postgresql-dev postgresql-client libxslt-dev libxml2-dev imagemagick
@mokxter
mokxter / CtrlP_acceleration
Created December 5, 2017 08:53 — forked from davidmh/CtrlP_acceleration
Accelerate CtrlP by ignoring certain files and paths. Including node modules and grunt's .tmp
" Ignore some folders and files for CtrlP indexing
let g:ctrlp_custom_ignore = {
\ 'dir': '\.git$\|\.yardoc\|node_modules\|log\|tmp$',
\ 'file': '\.so$\|\.dat$|\.DS_Store$'
\ }
@mokxter
mokxter / text_example.ex
Created October 16, 2017 09:42 — forked from chiragtoor/text_example.ex
Example Elixir code for sending a text message through ExTwilio
def send_text_message(phone_number, message) do
ExTwilio.Api.create(ExTwilio.Message,
[to: phone_number,
from: Application.get_env(:ex_twilio, :send_number),
body: message])
end
@mokxter
mokxter / install-git-completion.sh
Created October 4, 2016 04:41 — forked from johngibb/install-git-completion.sh
Mac OS X - Install Git Completion
URL="https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash"
PROFILE="$HOME/.profile"
echo "Downloading git-completion..."
if ! curl "$URL" --silent --output "$HOME/.git-completion.bash"; then
echo "ERROR: Couldn't download completion script. Make sure you have a working internet connection." && exit 1
fi

Folder Structure

Motivations

  • Clear feature ownership
  • Module usage predictibility (refactoring, maintainence, you know what's shared, what's not, prevents accidental regressions, avoids huge directories of not-actually-reusable modules, etc)