buppaしていくダメ人間日記

駄目人間のブログ。ゆるーく書いていく

この四日間で失ったもの「時間」

中間テーブルをしこしこ手打ちで入力

簡単なコードで作業はさせていたが基本的には自動で手動みたいなもの

 

いざ本番環境にcsvを移そうとLOAD DATA LOCAL FILE を実行したらエラーが

f:id:t_kazuki:20180216082012p:plain

 

f:id:t_kazuki:20180216082118j:plain

 

昨日参加したもくもく会のエンジニアの方に聞いたけど、どうやら外部キーを手打ちで入力するのは駄目みたい

 

 

 

 

 

この四日間ひたすらデータベースに入力にした時間は無駄だった

 

 

 

これからスクレイピングのコードを考えないと・・・一応、foregin_keyは動いているわけだし・・・

 

ログインページのバリデーションも途中だし、来週は面接3件入っているし、ハロワの失業手当の説明会行かないといけないしチームに迷惑かけっぱなしや・・・

privateメソッドを無理やり呼び出してデータを生成する作戦

エンジニアスクールに通ってます。

へっぽこな自分も気がつけばスクールの最終課題まで来てしまいました。

最終課題は既存サービスのコピーサイトを作成をやります。

 

自分はデプロイと中間テーブルまとめとユーザ周りをやっています。

スクレイピングしたデータが多いので苦戦しています。

スクレイピングしたデータを中間テーブルにうまく渡して生成する方法を考えましたが全く浮かびませんでした。

そのため人力で中間テーブルに引っ越しすることに・・

 

とはいえ連番のIDも多数あることからせめてそこだけでもコードを書いて楽したいなぁ

 

クエリに処理させればいいのでは?と考えたもののクエリの参考サイトを見たけど今の自分には難しすぎる。

 

じゃあRailsのモデルに記述してそのインスタンスだけ呼び出して書くしかないね・・

 

ということで記述。

 

最近AWSしか触ってなのでRubyのコード書くのにちょっと考えた。

以下、浅〜いコード

 

f:id:t_kazuki:20180215084218p:plain

いじりたいのはmember_id(監督/脚本/出演者が格納されているこのカラム)

※memberカラムはenumでそれぞれ属性を分けて格納済み

member_idのみを連番で一定のidまでループさせたい・・・

浅〜いコードだとこんなもの

 

rails cでこのメソッドを呼び出してもエラーを吐く・・・

 

 

あ・・・?あ・・・?

 

 

privateメソッドは基本的には呼び出せないんだって

 

MoviesMember.loop

→だめ

 

MoviesMember.send(:loop)

 

これでうまくいった。

 

当たり前だけどカプセル破壊というものらしくデータがおかしくなる可能性があるらしく非推奨だそうな

 

テストするときとかそんな時にしか使わなそう

ダメ人間のブログ

はてなで書いてみる。

 

これから勉強したこと、所感をまとめていこうかと思います。

 

どうぞよろしくお願いします。