code: def drop(self):
          
          if self.restriction:
              raise DataJointError('A relation with an applied restriction condition cannot be dropped.'
                                   ' Call drop() on the unrestricted Table.')
          self.connection.dependencies.load()
          do_drop = True
          tables = [table for table in self.connection.dependencies.descendants(self.full_table_name)
                    if not table.isdigit()]
          if config['safemode']:
              for table in tables:
                  print(table, '(%d tuples)' % len(FreeTable(self.connection, table)))
              do_drop = user_choice("Proceed?", default='no') == 'yes'
          if do_drop:
              for table in reversed(tables):
                  FreeTable(self.connection, table).drop_quick()
              print('Tables dropped.  Restart kernel.')
docs: Drop the table and all tables that reference it, recursively.
          User is prompted for confirmation if config['safemode'] is set to True.