Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- psql postgres -c "create database circular_fkeys_left"
- psql circular_fkeys_left <<EOS
- create table foos(id integer primary key, bar_id integer);
- create table bars(id integer primary key, foo_id integer);
- insert into foos(id, bar_id) values(1, 5);
- insert into bars(id, foo_id) values(5, 1);
- alter table foos add constraint bar_fk foreign key(bar_id) references bars;
- alter table bars add constraint foo_fk foreign key(foo_id) references foos;
- EOS
- psql postgres -c "create database circular_fkeys_right"
- psql circular_fkeys_right <<EOS
- create table foos(id integer primary key, bar_id integer);
- create table bars(id integer primary key, foo_id integer);
- alter table foos add constraint bar_fk foreign key(bar_id) references bars;
- alter table bars add constraint foo_fk foreign key(foo_id) references foos;
- EOS
- cat >circular_fkeys <<EOF
- RR::Initializer::run do |config|
- config.left = {
- :adapter => 'postgresql', # or 'mysql'
- :database => 'circular_fkeys_left',
- :username => 'postgres',
- :password => 'tiger',
- :host => '127.0.0.1'
- }
- config.right = {
- :adapter => 'postgresql',
- :database => 'circular_fkeys_right',
- :username => 'postgres',
- :password => 'tiger',
- :host => '127.0.0.1'
- }
- config.include_tables /./
- config.add_table_options 'foos',
- :before_table_sync => "alter table foos disable trigger all; alter table bars disable trigger all"
- config.add_table_options 'bars',
- :after_table_sync => "alter table foos enable trigger all; alter table bars enable trigger all"
- end
- EOF
- rubyrep scan -c circular_fkeys
- rubyrep sync -c circular_fkeys
- rubyrep scan -c circular_fkeys
- psql postgres -c "drop database circular_fkeys_left"
- psql postgres -c "drop database circular_fkeys_right"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement