Advertisement
Guest User

Untitled

a guest
Oct 6th, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.73 KB | None | 0 0
  1. psql postgres -c "create database circular_fkeys_left"
  2. psql circular_fkeys_left <<EOS
  3. create table foos(id integer primary key, bar_id integer);
  4. create table bars(id integer primary key, foo_id integer);
  5. insert into foos(id, bar_id) values(1, 5);
  6. insert into bars(id, foo_id) values(5, 1);
  7. alter table foos add constraint bar_fk foreign key(bar_id) references bars;
  8. alter table bars add constraint foo_fk foreign key(foo_id) references foos;
  9. EOS
  10.  
  11. psql postgres -c "create database circular_fkeys_right"
  12. psql circular_fkeys_right <<EOS
  13. create table foos(id integer primary key, bar_id integer);
  14. create table bars(id integer primary key, foo_id integer);
  15. alter table foos add constraint bar_fk foreign key(bar_id) references bars;
  16. alter table bars add constraint foo_fk foreign key(foo_id) references foos;
  17. EOS
  18.  
  19. cat >circular_fkeys <<EOF
  20. RR::Initializer::run do |config|
  21. config.left = {
  22. :adapter => 'postgresql', # or 'mysql'
  23. :database => 'circular_fkeys_left',
  24. :username => 'postgres',
  25. :password => 'tiger',
  26. :host => '127.0.0.1'
  27. }
  28.  
  29. config.right = {
  30. :adapter => 'postgresql',
  31. :database => 'circular_fkeys_right',
  32. :username => 'postgres',
  33. :password => 'tiger',
  34. :host => '127.0.0.1'
  35. }
  36.  
  37. config.include_tables /./
  38. config.add_table_options 'foos',
  39. :before_table_sync => "alter table foos disable trigger all; alter table bars disable trigger all"
  40. config.add_table_options 'bars',
  41. :after_table_sync => "alter table foos enable trigger all; alter table bars enable trigger all"
  42. end
  43. EOF
  44. rubyrep scan -c circular_fkeys
  45. rubyrep sync -c circular_fkeys
  46. rubyrep scan -c circular_fkeys
  47.  
  48. psql postgres -c "drop database circular_fkeys_left"
  49. psql postgres -c "drop database circular_fkeys_right"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement