2009年12月15日火曜日

Shindig + Partuzaでキャッシュさせない設定

Shindig + Partuzaで開発するならキャッシュ機能をオフにしないと不便。
Shindig,Partuzaの両方ともキャッシュに関する設定があるので、両方ともオフにする。

Shindig (PHP版)

cache_timeを0に設定する。


$ cat /path/to/shindig/php/config/local.php
'PartuzaService',
'activity_service' => 'PartuzaService',
'app_data_service' => 'PartuzaService',
'messages_service' => 'PartuzaService',
'oauth_lookup_service' => 'PartuzaOAuthLookupService',
'extension_class_paths' => '/Library/WebServer/Documents/partuza/Shindig',
'cache_time' => 0,
);


Partuza


こちらもcache_timeを0に設定する。


$ cd /path/to/partuza/html/
$ diff -u config.php.org config.php
--- config.php.org 2009-12-15 12:27:12.000000000 +0900
+++ config.php 2009-12-15 12:25:25.000000000 +0900
@@ -20,7 +20,7 @@

$config = array(
// Language to use, used for gettext / setenv LC_ALL
-'language' => 'en_US',
+'language' => 'ja_JP',

// prefix of where partuza lives, empty means it's /
'web_prefix' => '',
@@ -58,7 +58,7 @@
// If you use CacheStorageMemcache as caching backend, change these to the memcache server settings
'cache_host' => 'localhost',
'cache_port' => 11211,
-'cache_time' => 24 * 60 * 60,
+'cache_time' => 0,

2009年12月14日月曜日

デフォルトのストレージエンジンをInnoDBにする

LeopardにdmgからインストールしたMySQLのデフォルトのストレージエンジンがMyISAMだってことに最近気付いた。
デフォルトのストレージエンジンを変更するにはmy.cnfでdefault-storage-engineを指定すればOK


$ sudo vi /etc/my.cnf
$ cat /etc/my.cnf
[mysqld]
default-storage-engine=InnoDB


mysqlを再起動して、実際にInnoDBになったか確認


$ mysql -uroot
mysql> create database foo;
mysql> use foo
mysql> create table bar(id int not null);
mysql> show table status bar ¥G
*************************** 1. row ***************************
Table: bar
Create Table: CREATE TABLE `bar` (
`id` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.00 sec)

2009年12月3日木曜日

MySQL 主キーの追加・削除

忘れるのでメモ

主キーの追加


ALTER TABLE テーブル名 ADD PRIMARY KEY (カラム名1[,カラム名2...]);


主キーの削除


ALTER TABLE テーブル名 DROP PRIMARY KEY


削除時下のようなエラーがでたら制約を疑う

OperationalError: (1025, "Error on rename of './foo/#sql-b6f_3958' to './foo/bar' (errno: 150)")


制約を確認


mysql> SHOW CREATE TABLE foo;