Debuginfo

思考とアウトプット

外部SQLファイルを用いたデータベースのテーブルの作り方

開発初期は何回もスキーマを作り直しますよね??

毎回手動で作り直すのはほぼ不可能なので外部ファイルからDBを作ります。

$ mysql -u<user> -p -D<database> <  ./db_tables.sql
$ cat db_tables.sql
DROP TABLE Event;
CREATE TABLE Event 
(
    event_id VARCHAR(128),
    organizer INT,
    date DATETIME,
    PRIMARY KEY (event_id)
);
DESC Event;

最後のラインに’,’をつけててハマった。。Perlのハッシュに慣れ過ぎてました。。

mysql> desc Profile;
+------------+--------------+------+-----+---------+-------+
| Field      | Type         | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| user_id    | int(11)      | YES  |     | NULL    |       |
| username   | varchar(10)  | YES  |     | NULL    |       |
| profession | bit(16)      | YES  |     | NULL    |       |
| sex        | tinyint(1)   | YES  |     | NULL    |       |
| interests  | bit(32)      | YES  |     | NULL    |       |
| address    | varchar(255) | YES  |     | NULL    |       |
+------------+--------------+------+-----+---------+-------+

descで確認。データベースのスキーマを一度でバシッと決めるのって難しい気がする。達人は一発で決められるのかな。そんな人になりたい。