タグ

DBに関するbashalogのブックマーク (8)

  • 【CakePHP3】テーブルオブジェクトからスキーマ情報を参照する | バシャログ。

    梅雨のジメジメにめっぽう弱い kagata です。 今回は表題のとおり CakePHP3 のテーブルオブジェクトからスキーマ情報を参照していろいろやる方法をご紹介します。Cake3 のモデル周辺は、べんりな道具が当に充実していますよね。 例題1:入力データの null を空文字列に置き換える 例えば、データベースに次のようなテーブルがあるとします。 CREATE TABLE `posts` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `subject` varchar(255) NOT NULL, `body` text NOT NULL, `created` datetime NOT NULL, `modified` datetime NOT NULL, PRIMARY KEY (`id`) ) null を撲滅するため、どのカラムにも n

    【CakePHP3】テーブルオブジェクトからスキーマ情報を参照する | バシャログ。
  • 200GB のダンプファイルを一部のみリストアした話 | バシャログ。

    なんかすでに梅雨がきてしまったかのような天気ですね。昔雨が嫌いだった kimoto です。今はふつう。 先日、とあるサービスのデータを、社内の開発環境にリストアしなければならない事がありまして。 MySQL のダンプファイルなんですが、これがまた大きい大きい。 テーブル数は 2000 以上、ダンプファイルの容量は 200GB を超えていました。 社内の環境のスペックがそれほど高くなかったこともあり、普通にリストアするととんでも無い時間がかかりそうな雰囲気。 実際は一部しか必要ないのに全部リストアするのもなあ…という事で、ちょっとやり方を考えました。 結論としては、とにかくデカすぎるファイルから、目当てのテーブルについて書かれている部分のみを抽出して、そこからリストアすることにしました。 1. まずはざっくりと切り出し まずは目当てのテーブルについて書かれている行の割り出しです。 たとえば、

    200GB のダンプファイルを一部のみリストアした話 | バシャログ。
  • [MySQL] CSV を使ってエクスポート・インポート | バシャログ。

    ワールドカップ楽しい〜〜!こんにちわ nakamura です。 今日はダンプ・リストアではなく、CSV ファイルを使って MySQL データのエクスポート・インポートをする方法を紹介します。状況によってはとても有用な方法なので覚えておくとちょっと便利ですよ! どんな時に便利なの? 例えばデータの整形をした上で違うデータベースにリストアしたり、WHERE 句で絞り込んだデータだけをリストアしたり、異なるバージョン間でダンプファイルを使ったリストアがどうにもうまくいかない場合等に CSV でのエクスポート・インポートは有用です。 SQL コマンド例 それでは実際にコマンド例を見てみましょう。 とりあえず一般的なエクスポート SELECT * FROM users ORDER BY id INTO OUTFILE "/tmp/users.csv" -- 出力先のファイル名 FIELDS TERM

    [MySQL] CSV を使ってエクスポート・インポート | バシャログ。
  • [ステップアップ! CakePHP]セッションをデータベースに保存する | バシャログ。

    この前の日曜日に WOWOW でやってたラシャド・エバンス vs ランペイジ・ジャクソンの録画をまだ観られてなくてモンモンとしてる kimoto です。今日こそ帰って観るぞ! さて、CakePHP 連載の第4回。日はセッションの保存場所をデータベースにする方法をお話します。 なぜデータベースに入れるのか? デフォルトでセッションを利用すると、その情報はファイルに記されます。 そのままでももちろん問題ないですが、例えば Web サーバが複数台あり、セッションを共有しなければならない時などは、「DB に保存する」というのが選択肢の一つとなります。 では設定方法をお話します。 CakePHP では設定も楽チン。 1.まずはコンフィグの書き換え config ファイルの書き換えをします。 書き換えるファイルは「app/config/core.php」です。 [102行目あたり] データベースで管

    [ステップアップ! CakePHP]セッションをデータベースに保存する | バシャログ。
  • 今さら聞けないWeb(制作現場に出てくる)用語集 第1回 DB編 | バシャログ。

    こんにちは、inoueです。久々につくった鳥はむが大成功!今日も幸先がよいわ。 さて、現在「EC-CUBEカスタマイズ日誌」の連載中ですが、日よりもうひとつ連載をスタートします。 名づけて「今さら聞けないWeb(制作現場に出てくる)用語集」。 Web制作、開発の現場でよく聞く、でも担当外だったりしていまいち理解しきれていないかも、といった用語を分野別にセレクト。 第1回はDB編です。各用語に関連したリンクを用意しましたので参考にしてください。 クエリー クエリーとは、アプリケーションからリレーショナルデータベース管理システム(DBMS。MySQL、PostgreSQLなどがこれにあたります)への問い合わせのことを指します。 Webアプリケーションのプログラムでは、ユーザの入力内容をクエリーに変換し、DBMSから受け取った問い合わせ結果をユーザに提供する形に変換する、という作業を繰り返して

    今さら聞けないWeb(制作現場に出てくる)用語集 第1回 DB編 | バシャログ。
  • 【MySQL】INSERTやUPDATEで便利なSQL関数(フロー制御編) | バシャログ。

    こんにちは、シーブレインinoueです。 馬車道界隈も春休みの親子連れでにぎわっています。 4月ももう3日、新学年スタートももうすぐですね。桜も咲いて、ああ春だわあ。 さて、今回はSQLで使用できるフロー制御関数について紹介します。 というのも、ここ最近はとあるシステムのデータ移行の仕事を担当しておりまして、 "INSERT INTO new(...) SELECT ... FROM old WHERE ...;" といったSQLクエリをひたすら書いております。 何のデータ構造も値も変えない移行なら、ダンプデータを取得して新しいサーバで展開するだけなのですが、システムの性能を向上するために、様々な変換処理が今回は必要で…。 現行DBのいただけない部分を解消するまたとないチャンス、ではありますが、 正しくデータ移行できないと新しいシステムが正常に動かなくなるので非常に緊張する作業です。 とい

    【MySQL】INSERTやUPDATEで便利なSQL関数(フロー制御編) | バシャログ。
  • [バシャログスタッフの道具箱] ER図作成支援「A5:SQL Mk-2」 | バシャログ。

    予防してますか! 現在シーブレイン社内ではインフルエンザが流行りだしていて、ビクビクしている kimoto です。 さて、バシャログスタッフの道具箱第3回。 今回は、データベース設計する際に重宝している、「A5:SQL Mk-2」をご紹介します。 偏愛ツール「A5:SQL Mk-2」 このツールは、DB 設計を全般的に支援してくれるツールです。 私は主に ER 図を作成する際にお世話になってます。 1.エンティティの追加 まずは新規の ER 図を作成すると、なにもないキャンバスができるので、そこで新規エンティティを作成し配置していきます。 2.エンティティの設定(テーブル名) 配置したら、そのエンティティをダブルクリック。エンティティのプロパティが開きます。 そこに、そのテーブルの定義を入力していきます。 別画面でドメインを作っておけば、カスタマイズされた型も簡単に設定できるようになります

    [バシャログスタッフの道具箱] ER図作成支援「A5:SQL Mk-2」 | バシャログ。
  • AmaterasERDを組み込んで、EclipseでDB設計をしよう | バシャログ。

    データベース(以下、DBとします)設計を行うにあたり、ER図作成ツールはやっぱり欲しい。 できればフリーで、使いやすいもの。 リバースエンジニアリングもしてくれると、既存のDB構造をぱっと出力してくれるし、便利よね。 …これらの要望を叶えてくれるツールとして、これまでDB Designer4を使ってきましたが、クエリで使う語(例:status、orderなど)をカラム名にするとstatus_1などに強制変換されてしまったり、DBスキーマのHTML出力が可能、だけどテーブル数が多いとアプリケーションがハングアップしちゃったりといろいろ問題がありました。 Eclipseプラグインで何かないか、と探しつつも今までしっくりくるものがなかったのですが、今回ご紹介するAmaterasERDはかなり使いやすくてやっと無事にツールの乗り換えができました。 私が気に入っている、次の3点を軸に簡単に解説します

    AmaterasERDを組み込んで、EclipseでDB設計をしよう | バシャログ。
  • 1