なんか書くぞ

web系だと思う

laradockのビルド死ぬ

数日経ってるのとエラー文コピペし忘れて辛い

laradockそろそろ1ヶ月pullしてないししたろ〜と思ってdownしてpullしてbuildしたらこけた

php-fpm-2.2-{PHP_VERSION} not found

的な内容

.env の中身は PHP_VERSION=72 にしてたけど、👇のリストを見てたら 2.2-72 なんてないやんけ!ということで7.2にして解消したという話

https://hub.docker.com/r/laradock/php-fpm/tags/

brew前提でmacにpyenv入れる

えるきゃぴたそで頑張ります

brew生存確認

$ brew
Example usage:
  brew search [TEXT|/REGEX/]
  brew (info|home|options) [FORMULA...]
  brew install FORMULA...
  brew update
  brew upgrade [FORMULA...]
  brew uninstall FORMULA...
  brew list [FORMULA...]

Troubleshooting:
  brew config
  brew doctor
  brew install -vd FORMULA

Developers:
  brew create [URL [--no-fetch]]
  brew edit [FORMULA...]
  http://docs.brew.sh/Formula-Cookbook.html

Further help:
  man brew
  brew help [COMMAND]
  brew home

はい、生きてましたね

$ brew update

からの、

$ brew install pyenv

pyenv入ったかな〜

$ pyenv --version
pyenv 1.0.10

pyenvでpythonを入れます

$ pyenv install --list
ズラーッと出てきます

今回は3.5.1でいいや $ pyenv install 3.5.1

$ pyenv global 3.5.1

すると、

$ python -V
Python 3.5.1

完了

macのPHPのバージョンを7.1にあげる

$ brew update

$ brew install homebrew/php/php71

~/.bashrc

export PATH="$(brew --prefix homebrew/php/php71)/bin:$PATH" を追記

からの $ source ~/.bashrc

$ php -v

すると

PHP 7.1.6 (cli) (built: Jun 23 2017 08:42:20) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

alembicでテーブルができるまで

はい、pythonの話です

まあこれ読めばできるんですけどね Tutorial — Alembic 0.9.3 documentation

プロジェクトのルートで作業するのがやりやすかった

$ alembic init alembic

alembic氏のディレクトリが生える

コマンド打ったディレクトリに alembic.ini ファイルができる

そういえば今回は単一のDBのお話なので、複数のDBを管理したい時はまた別。

複数DB扱うときはこちら↓が参考になるかと思います(試してないので断定してない)

qiita.com

alembic.iniね

# ここ編集するぞ 
# あとDBはあらかじめ作っておく 
sqlalchemy.url = driver://user:pass@localhost/dbname 

$ alembic revision -m "initial create table"

これでスキーマ定義用のファイルが alembic/versions/ 以下にできる

できたやつ.py

Revision ID: {Revision ID}
Revises: 戻す時のやつ
Create Date: 2017-06-12 23:12:13.187440

"""
from alembic import op
import sqlalchemy as sa


# revision identifiers, used by Alembic.
revision = '{Revision ID}'
down_revision = '{戻す時のやつ}'
branch_labels = None
depends_on = None


def upgrade():
    op.create_table(
        "user",
        sa.Column("id", sa.Integer, primary_key=True),
        sa.Column("name", sa.String({max_length}), unique=True),
        sa.Column("email", sa.String({max_length}), unique=True),
        sa.Column("password", sa.String({max_length}), unique=True),
        sa.Column("mtime", sa.TIMESTAMP),
        sa.Column("ctime", sa.DateTime, default=sa.func.now())
    )

def downgrade():
    op.drop_table('user')

djangoっぽくuser.pyとかを作ってそこにmodelの定義書いて〜とか考えてたけどできるのかな、知らんけど、うーん。

で、これができたら $ alembic upgrade head ってやるとなんかテーブルできてる。

Error:No such property: useAnt for class: org.gradle.api.tasks.scala.ScalaCompileOptions

Error:No such property: useAnt for class: org.gradle.api.tasks.scala.ScalaCompileOptions

見つけたぞ

stackoverflow.com

build.gradleにこれ追加

 ScalaCompileOptions.metaClass.daemonServer = true
 ScalaCompileOptions.metaClass.fork = true
 ScalaCompileOptions.metaClass.useAnt = false
 ScalaCompileOptions.metaClass.useCompileDaemon = false

ほい