Intenta crear una tabla que depende de otra sin haber cargado esa otra.
Modifica las funciones install() de cada modelo para cargar el modelo de la tabla que necesite, es decir, si la tabla2 depende de la tabla2, en el modelo de la tabla2, el install () debería ser así:
/// hacemos un new solamente para asegurarnos que compruebe primero la tabla1
new tabla1();
return '';