create schema test;
create table foos (
id serial primary key,
bar_id integer,
name varchar(16)
);
create table bars(
id serial primary key,
name varchar(8)
);
create table test.bars (
id serial primary key,
name varchar(8)
);
こんな感じのリレーションを作成しておいて
class FoosController < ApplicationController
before_filter :change_schema
def change_schema
Bar.set_table_name 'test.bars'
end
end
とか、やっちゃったら、簡単にスキーマが切り替えられたんです。怖いです。よくよく考えてみると、テーブル名は規約から外れるわけじゃないので、そうなのかもしれません。
postgresql の slony-i のマスター・スレーブ方式ですが、DB単位じゃないですか?schema単位でマスター・スレーブ方式が選択できると、途端に幅が広がったりしませんか?相互にスキーマを転送できると、凄い事になりそうです。
0 件のコメント:
コメントを投稿